From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eVod8-0000Ll-Kf for guix-patches@gnu.org; Sun, 31 Dec 2017 20:11:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eVod5-00038p-3g for guix-patches@gnu.org; Sun, 31 Dec 2017 20:11:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:50444) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eVod4-00038W-Vi for guix-patches@gnu.org; Sun, 31 Dec 2017 20:11:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eVod4-0001o9-Mo for guix-patches@gnu.org; Sun, 31 Dec 2017 20:11:02 -0500 Subject: [bug#29922] [PATCH] linux-boot: Improve error reporting. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eVoc8-00008D-Sh for guix-patches@gnu.org; Sun, 31 Dec 2017 20:10:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eVoc5-0002bi-E9 for guix-patches@gnu.org; Sun, 31 Dec 2017 20:10:04 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:47972) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eVoc5-0002aT-7G for guix-patches@gnu.org; Sun, 31 Dec 2017 20:10:01 -0500 From: Danny Milosavljevic Date: Mon, 1 Jan 2018 01:42:31 +0100 Message-Id: <20180101004231.20195-1-dannym@scratchpost.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 29922@debbugs.gnu.org * gnu/build/linux-boot.scm (boot-system): Improve error reporting. --- gnu/build/linux-boot.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 4dd740174..85c855e40 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -507,7 +507,23 @@ to it are lost." (switch-root "/root") (format #t "loading '~a'...\n" to-load) - (primitive-load to-load) + (catch #t + (lambda () + (primitive-load to-load)) + (lambda (key . args) + (format (current-error-port) "Error: ~a: ~a\n" key args) + (reboot)) + (lambda (key . args) + (let ((print-frames + (@@ (system repl debug) print-frames)) + (frame->stack-vector + (@@ (system repl debug) frame->stack-vector)) + (stack-ref + (@@ (system repl debug) stack-ref))) + (print-frames + (frame->stack-vector + (stack-ref (make-stack #t) 0)) + #:width 1000000)))) (format (current-error-port) "boot program '~a' terminated, rebooting~%"