lorri
lorri copied to clipboard
Lorri Crash Report
I think this happened because I ran git checkout in a local nixpkgs checkout eval depended on which caused git to delete some files.
name = 'lorri'
operating_system = 'unix:Unknown'
crate_version = '1.6.0'
explanation = '''
Panic occurred in file 'src/build_loop.rs' at line 238
'''
cause = '''
Unrecoverable error:
Io {
msg: "Error { kind: Io(Os { code: 2, kind: NotFound, message: \"No such file or directory\" }), paths: [] }",
}'''
method = 'Panic'
backtrace = '''
0: 0x55b40a585f59 - lorri::build_loop::BuildLoop::forever::h90b55c6f6d2ef7d5
1: 0x55b40a549ff4 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4f4bdb6de68914b0
2: 0x55b40a59ad27 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hdca413b472e1bf16
3: 0x55b40a73ded3 - std::sys::unix::thread::Thread::new::thread_start::h1f2eb64c3e9233cd
4: 0x7fb48fe16e86 - start_thread
5: 0x7fb48fe9dc60 - __clone3
6: 0x0 - <unresolved>'''
name = 'lorri'
operating_system = 'unix:Unknown'
crate_version = '1.6.0'
explanation = '''
Panic occurred in file 'src/build_loop.rs' at line 238
'''
cause = '''
Unrecoverable error:
Io {
msg: "Error { kind: Io(Os { code: 2, kind: NotFound, message: \"No such file or directory\" }), paths: [] }",
}'''
method = 'Panic'
backtrace = '''
0: 0x56217cf797ae - lorri::build_loop::BuildLoop::forever::h807d9bf535db9689
1: 0x56217cf55682 - std::sys_common::backtrace::__rust_begin_short_backtrace::h33c9a6f0e5c494d0
2: 0x56217cfb8d1f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h86ceb4fdff267d4a
3: 0x56217d0f9ea3 - std::sys::unix::thread::Thread::new::thread_start::he07b48d75c5d0290
4: 0x7f12c6532e86 - start_thread
5: 0x7f12c65b9d30 - clone3
6: 0x0 - <unresolved>'''
Same, but I switched back from flakes to just a normal shell.nix and deleted *.nix for a moment.
I have the same problem on NixOS unstable, commit 31cd1b4afbaf0b1e81272ee9c31d1ab606503aed. I installed lorri with services.lorri.enable = true;.
After some debugging, function lorri::watch::Watch::add_path looks suspicious: self.notify.watch(parent) is only called if self.watches does not contain the parent, but the parent is not added to self.watches afterwards.
https://github.com/nix-community/lorri/blob/046675de620a91e5d985c1430a49145a81f4e060/src/watch.rs#L162-L171
Also, running cd /home/u/proj/intro && strace -s 1000 -fZe %file lorri watch --once |& grep ENOENT got me this curious line:
[pid 720164] readlink("/home/u/proj/intro/<nix", 0x7ffdd9105f30, 1023) = -1 ENOENT (No such file or directory)
Maybe the path gets truncated somewhere?
I think I have the same issue on my system (Ubuntu 22.04 with nixpkgs and Lorri version 1.6.0)
After I build lorri locally from latest git version it worked. So the issue seemed to be solved since release 1.6.0.
This bug is fixed in 1.7.0, which is in nixpkgs as of NixOS 24.05. Thank you for your patience!