bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#30644: Cuirass runs out of build users


From: Danny Milosavljevic
Subject: bug#30644: Cuirass runs out of build users
Date: Sat, 24 Mar 2018 14:15:47 +0100

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.

Attachment: pgpfqv2fIdzmo.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]