New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create_directory_watch_subdirectories fails on Fedora #186
Comments
Consistently? On what filesystem, Rust version, kernel version? What does the backtrace say? |
---- create_directory_watch_subdirectories stdout ----
thread 'create_directory_watch_subdirectories' panicked at 'assertion failed: `(left == right)`
left: `[("/tmp/temp_dir.o617Am4z9gWW/dir1", CREATE, None), ("/tmp/temp_dir.o617Am4z9gWW/dir1/dir2", CREATE, None), ("/tmp/temp_dir.o617Am4z9gWW/dir1/dir2/file1", CREATE, None), ("/tmp/temp_dir.o617Am4z9gWW/dir1/dir2/file1", CLOSE_WRITE, None)]`,
right: `[("/tmp/temp_dir.o617Am4z9gWW/dir1", CREATE, None), ("/tmp/temp_dir.o617Am4z9gWW/dir1/dir2/file1", CREATE, None), ("/tmp/temp_dir.o617Am4z9gWW/dir1/dir2/file1", CLOSE_WRITE, None)]`', tests/notify.rs:507:9
stack backtrace:
0: 0x560d281eb33f - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h8bd79c2bf8ecd6f3
1: 0x560d281e33b7 - std::sys_common::backtrace::print::h67807d3cdb7b7237
2: 0x560d281ee00f - std::panicking::default_hook::{{closure}}::he2bb229789800be8
3: 0x560d281edd20 - std::panicking::default_hook::h91e5274148186d07
4: 0x560d281ee700 - std::panicking::rust_panic_with_hook::h2ff3a9bb34d4e1a9
5: 0x560d281ee291 - std::panicking::continue_panic_fmt::h31f93fb3d2584798
6: 0x560d281ee1de - std::panicking::begin_panic_fmt::h1f6d3d4150997da4
7: 0x560d28156d19 - core::ops::function::FnOnce::call_once::h5df92395fa7852b5
8: 0x560d2816d6ee - <F as alloc::boxed::FnBox<A>>::call_box::hfc6c1f9e02699fd9
9: 0x560d281f12a9 - __rust_maybe_catch_panic
10: 0x560d2818d82d - std::sys_common::backtrace::__rust_begin_short_backtrace::hd82c1e31508f0064
11: 0x560d2818ba64 - std::panicking::try::do_call::h9c648196c22223e6
12: 0x560d281f12a9 - __rust_maybe_catch_panic
13: 0x560d2818ef0c - <F as alloc::boxed::FnBox<A>>::call_box::h407023d842c792fe
14: 0x560d281ec80d - std::sys_common::thread::start_thread::hc63b4752b13400d0
15: 0x560d281df3d5 - std::sys::unix::thread::Thread::new::thread_start::hda130ff6710e06d8
16: 0x7fd47be6a5a1 - start_thread
17: 0x7fd47bd7efa2 - __GI___clone
18: 0x0 - <unknown> |
Oh, and filesystem...
|
OH and is this the debounce or the notify test run? |
@passcod it is actually both of them. But from few tens of runs, notify one seems to fail more often :) |
Also I notice this is an pre-release kernel? Which is currently my only lead because I can't repro on kernel 5.0.0 |
woo! we get to read kernel diffs 😓 |
I would ask that you try on a stable kernel, if possible, at least to isolate to that if that is indeed the cause. |
From a cursory look, I think they're correcting an oversight in inotify and that's leading to a new event in this situation. This is great for correctness but obviously will make the test suite differ depending on the kernel version. Unsure how that will play out, and in any case I'll want to wait until 5.1 is out with those changes before doing anything concrete. |
I'll try it later today on 5.0.0 and write you back. Thanks for your help, much appreciated :) |
Seems it is not reproducible with |
Apparently it is reproducible on But I suppose not much can be done. |
I believe the new kernel behaviour is correct and the 4.0 test suite is overly strict... testing exactly to the platform instead of testing what notify should expect, which has also been a problem elsewhere. I'll try to fix that general issue when I write the tests back during one of the 5.0 prereleases. |
The text was updated successfully, but these errors were encountered: