GNU bug report logs -
#33407
Cuirass is dropping the SQLite error message when rethrowing
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#33407: Cuirass is dropping the SQLite error message when rethrowing
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 33407 <at> debbugs.gnu.org.
--
33407: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33407
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello,
Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de> skribis:
> is this a bug or by intention?
>
> In src/cuirass/database.scm, in the db-add-* procedures, we have a
> catch-clause like this:
>
> (with-db-critical-section db
> (catch 'sqlite-error
> (lambda ()
> <thunk-body>)
> (lambda (key who code message . rest)
> ;; If we get a unique-constraint-failed error, that means we have
> ;; already inserted the same checkout. That happens for each input
> ;; that doesn't change between two evaluations.
> (if (= code SQLITE_CONSTRAINT_PRIMARYKEY)
> #f
> (apply throw key who code rest))))))
> -------------------------------------^
>
> Here the message is not re-thrown.
>
> It would have made my life easier if I saw this message:
>
> "NOT NULL constraint failed: Builds.system"
Oops, good catch! Fixed in commit
d0ed3341d7201d0332e9aeb0af80e0ec635aeb1e.
I also factorized the exception handler in the previous commit because
there were 3 copies of this bug…
Thanks!
Ludo’.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Hi,
is this a bug or by intention?
In src/cuirass/database.scm, in the db-add-* procedures, we have a
catch-clause like this:
(with-db-critical-section db
(catch 'sqlite-error
(lambda ()
<thunk-body>)
(lambda (key who code message . rest)
;; If we get a unique-constraint-failed error, that means we have
;; already inserted the same checkout. That happens for each input
;; that doesn't change between two evaluations.
(if (= code SQLITE_CONSTRAINT_PRIMARYKEY)
#f
(apply throw key who code rest))))))
-------------------------------------^
Here the message is not re-thrown.
It would have made my life easier if I saw this message:
"NOT NULL constraint failed: Builds.system"
instead of just:
In cuirass/utils.scm:
115:35 0 (_)
cuirass/utils.scm:115:35: Throw to key `sqlite-error' with args `(#f 1299)'.
Addationally, when adding the message to the apply clause, at least in
an isolated test it will be just thrown without problems.
Björn
[Message part 5 (application/pgp-signature, inline)]
This bug report was last modified 6 years and 241 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.