diff options
-rw-r--r-- | guix-build-coordinator/agent-messaging/http/server.scm | 15 | ||||
-rw-r--r-- | guix-build-coordinator/client-communication.scm | 13 |
2 files changed, 25 insertions, 3 deletions
diff --git a/guix-build-coordinator/agent-messaging/http/server.scm b/guix-build-coordinator/agent-messaging/http/server.scm index c001546..e3ced38 100644 --- a/guix-build-coordinator/agent-messaging/http/server.scm +++ b/guix-build-coordinator/agent-messaging/http/server.scm @@ -1040,8 +1040,19 @@ port. Also, the port used can be changed by passing the --port option.\n" ((method path-components ...) (simple-format (current-error-port) - "error: when processing: /~A ~A\n ~A ~A" + "error: when processing: /~A ~A\n ~A ~A\n" method (string-join path-components "/") key args))) - (backtrace))))) + + (let* ((stack (make-stack #t 4)) + (backtrace + (call-with-output-string + (lambda (port) + (display "\nBacktrace:\n" port) + (display-backtrace stack port) + (newline port) + (newline port))))) + (display + backtrace + (current-error-port))))))) #:unwind? #t)) diff --git a/guix-build-coordinator/client-communication.scm b/guix-build-coordinator/client-communication.scm index 2df9b32..d7877b3 100644 --- a/guix-build-coordinator/client-communication.scm +++ b/guix-build-coordinator/client-communication.scm @@ -636,7 +636,18 @@ "error: when processing client request: /~A ~A\n ~A ~A\n" method (string-join path-components "/") key args))) - (backtrace))))) + + (let* ((stack (make-stack #t 4)) + (backtrace + (call-with-output-string + (lambda (port) + (display "\nBacktrace:\n" port) + (display-backtrace stack port) + (newline port) + (newline port))))) + (display + backtrace + (current-error-port))))))) #:unwind? #t)) (define* (render-json json #:key (extra-headers '()) |