GNU bug report logs - #31785
Multiple client 'build-paths' RPCs can lead to daemon deadlock

Previous Next

Package: guix;

Reported by: ludo <at> gnu.org (Ludovic Courtès)

Date: Mon, 11 Jun 2018 14:07:02 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: Reepca Russelstein <reepca <at> russelstein.xyz>
Cc: Christopher Baines <guix <at> cbaines.net>, 31785 <at> debbugs.gnu.org
Subject: bug#31785: Multiple client 'build-paths' RPCs can lead to daemon deadlock
Date: Mon, 30 Dec 2024 00:57:54 +0100
Hey Reepca,

Reepca Russelstein <reepca <at> russelstein.xyz> skribis:

> Here is the reproducer:

Brilliant!  It works wonderfully well.

I moved it to its own file to limit interference with others—plus it’s
one of our oldest bugs so it deserves it. ;-)

> P.S: If in attempting to turn this into a proper test, you try using the
> timeout argument to join-thread, be aware that a second attempt at
> calling join-thread on the same thread will fail with "In procedure
> lock-mutex: mutex already locked by thread".  This is because
> join-thread in (ice-9 threads) has a bug in it: unlock-mutex is not
> called in the "else" case of the cond.  I am mentioning this here in
> case I forget to make a proper report of it.

Heh, how many bugs did you find while chasing this one?

I pushed your patch together with the reproducer as
78da6951787f07e9460091885d7a9eb3e667b512.

Now we have to update the ‘guix’ package, though perhaps that’ll have to
wait until next year, we’ll see.

Thanks a lot for your work and for your support!  You’re my hero.  :-)

Ludo’.




This bug report was last modified 135 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.