GNU bug report logs - #30644
Cuirass runs out of build users

Previous Next

Package: guix;

Reported by: Andreas Enge <andreas <at> enge.fr>

Date: Wed, 28 Feb 2018 09:08:01 UTC

Severity: normal

Done: Mathieu Othacehe <othacehe <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: Andreas Enge <andreas <at> enge.fr>, 30644 <at> debbugs.gnu.org
Subject: bug#30644: Cuirass runs out of build users
Date: Sat, 24 Mar 2018 14:15:47 +0100
[Message part 1 (text/plain, inline)]
Hi Ludo,

I've checked it some more.  The shared cache uses unlock_notify, and the actual
database uses sqlite3_busy_handler (sqlite3_busy_timeout) when BUSY is returned.

The 5 in

ice-9/eval.scm:619:8: Throw to key `sqlite-error' with args `(#f 5 "database is locked")'.  
                                                                 ^^

means SQLITE_BUSY, so that's the actual database.

So the easiest way to work around it would be to call

  sqlite3_busy_timeout(db, 10); // ms

which would automatically repeatedly retry on busy until 10 ms have accumulated,
and only then give up.

There's also sqlite3_busy_handler which can be used to install a busy handler,
and of course in the future we could also handle SQLITE_BUSY ourselves and yield.

See also https://notabug.org/civodul/guile-sqlite3/pulls/4 for the former.
[Message part 2 (application/pgp-signature, inline)]

This bug report was last modified 4 years and 57 days ago.

Previous Next


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