Closed sternenseemann closed 2 months ago
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!
I think this happened because I ran
git checkout
in a local nixpkgs checkout eval depended on which caused git to delete some files.