Strange. Do you compile it with plain cargo build
, or with more sophisticated things? Does it happen both in release and debug mode?
It happend multiple times, with really different errors (first one was an Rust ICE, other one was a SIGSEGV while compiling pijul via default.nix
). I’m just leaving this for now until it becomes more frequent, it’s not a big problem, as repeating-until-it-works has helped in the past (sometimes cargo update
was needed to fix more complicated stuff). It just seems that some parts of the thrussh code effective in crashing rust. Normally, this should be catched via crater runs (as thrussh, at least v0.20.2, is on crates.io). Happend mostly in release mode.
I get segfaults sometimes when compiling very large rust expressions (it seems flakes tend to make that even worse, unlike in the advertisements).
It even became annoying to the point that I resurrected my Carnix (the ancestor to crate2nix) at some point, just to compile and deploy the Nest.
My understanding is that this is probably just a stack overflow (or a failure of Nix to allocate on the heap).
Happens pretty non-deterministic. Hard to debug.