#17870 closed bug (fixed)
opendir() on FIFO triggers kernel assertion
Reported by: | hoanga | Owned by: | waddlesplash |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta4 |
Component: | System/Kernel | Version: | R1/beta3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
hi,
i cannot compile and run tests for the rust nix crate on more recent versions of haiku. haiku support for the nix crate was merged into mainline in https://github.com/nix-rust/nix/pull/1703. with the (recent) https://github.com/nix-rust/nix/releases/tag/v0.25.0 crate release it has also been available as a crate as well.
i am attaching a screenshot of the stack trace that shows up when trying to compile inside of a virtualized instance. when attempting to build on plain hardware, the system just hangs and requires a hard reboot.
i have observed the system crashing on these nightly versions hrev55425 hrev56347 hrev56350
(note that on hrev56040 it seemed to build and run fine)
Steps to Reproduce
- install haiku and update to a recent nightly
- install rust (pkgman install rust_bin)
- checkout nix repo (git clone https://github.com/nix-rust/nix)
- try to build and run tests (cd nix && cargo build && cargo test)
Attachments (2)
Change History (11)
by , 2 years ago
Attachment: | haiku-stack-trace-on-compile-nix.png added |
---|
comment:1 by , 2 years ago
Description: | modified (diff) |
---|
comment:2 by , 2 years ago
by , 2 years ago
Attachment: | drive-setup-screenshot.png added |
---|
comment:3 by , 2 years ago
there is only a single BFS filesystem mounted in the virtualized system. attached a screenshot of DriveSetup, if there's a suggested method to query/list mounts i can also send that
comment:4 by , 2 years ago
There is definitely more than that because that only lists physical drive mounts; there's at least a packagefs mount also, and probably more.
I added some more debugging prints to this panic in hrev56357. Please test with that, and run the appropriate "dump" command (probably dump_vnode 0x....
with whatever value is listed in the message.) Assuming it's the vnode that you dumped, please also dump_mount 0x...
with whatever mount is listed in the vnode dump information; then attach the picture of that KDL session here.
comment:5 by , 2 years ago
Even without the results of that debugging information, I am going to take a guess the problem in question is the FIFO layer, which doesn't provide an opendir() hook at all. I guess we should just add a default implementation in the VFS.
comment:6 by , 2 years ago
Component: | - General → System/Kernel |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:7 by , 2 years ago
Summary: | kernel stack trace when compiling nix crate → opendir() on FIFO triggers kernel assertion |
---|
Confirmed the problem.
comment:8 by , 2 years ago
Milestone: | Unscheduled → R1/beta4 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Fixed in hrev56360.
comment:9 by , 2 years ago
confirmed working for myself in hrev56362. thanks for the quick turnaround!
Please list what filesystems are mounted on this machine (e.g. BFS, FAT, NTFS, etc.) Most likely one of the filesystem drivers is faulty.