From f3eadb6984bc3fb9a4b69633c9ad68e143e95173 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 28 Jun 2020 13:13:32 +0100 Subject: Improve error reporting within the sqlite threads --- guix-build-coordinator/datastore/sqlite.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index 5ed70ac..e8d1ee2 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -150,12 +150,17 @@ (sqlite-exec db "ROLLBACK TRANSACTION;") (raise-exception exn)) (lambda () - (call-with-values - (lambda () - (proc db)) - (lambda vals - (sqlite-exec db "COMMIT TRANSACTION;") - (apply values vals)))) + (with-exception-handler + (lambda (exn) + (backtrace) + (raise-exception exn)) + (lambda () + (call-with-values + (lambda () + (proc db)) + (lambda vals + (sqlite-exec db "COMMIT TRANSACTION;") + (apply values vals)))))) #:unwind? #t)))) (define-method (datastore-find-agent -- cgit v1.2.3