Hey Chris,
>> It looks like a memory allocation failed causing a Cuirass/Guile crash. > > So, I've seen this before but in a slightly different context, [1]. To > summarise, with Guile built with libgc@8 the Guix Data Service couldn't > processes Guix revisions, because the code it had Guile built with > libgc@8 run caused it to consistently crash with this error. The > workaround was to add a Guile variant built with libgc@7 and use this > for the guix package [2]. > > 1: http://issues.guix.info/40525 > 2: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40684 > > I'm not quite sure what Guile process is crashing here, but switching to > use Guile built with libgc@7 might help. Thanks for pointing to this, I somehow missed it at the time. I collected the strace log which sounds indeed really similar: --8<---------------cut here---------------start------------->8--- [pid 49511] getdents64(271, 0x7f5374304930 /* 455 entries */, 32768) = 32760 [pid 42583] mmap(0x7f5361976000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory) [pid 42583] write(2, "mmap(PROT_NONE) failed", 22) = 22 [pid 42583] write(2, "\n", 1) = 1 [pid 42583] rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 [pid 42583] rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0 [pid 42583] getpid() = 42562 [pid 42583] gettid() = 42583 [pid 42583] tgkill(42562, 42583, SIGABRT) = 0 [pid 42583] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 [pid 42583] --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=42562, si_uid=997} --- [pid 42738] <... read resumed> <unfinished ...>) = ? --8<---------------cut here---------------end--------------->8--- The abort seem to be received by the finalizer thread. I can try to use guile-3.0/libgc-7 to confirm this theory, but I guess we'll need to dig deeper. Thanks, Mathieu