From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#19779: dmd: service definition errors cause kernel panic Date: Wed, 25 Nov 2015 12:02:09 +0100 Message-ID: <87lh9mjqa6.fsf@gnu.org> References: <87lhkckerl.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54089) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1Xqr-0004Pe-Q9 for bug-guix@gnu.org; Wed, 25 Nov 2015 06:03:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a1Xqo-00036S-KP for bug-guix@gnu.org; Wed, 25 Nov 2015 06:03:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:34148) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1Xqo-00036I-Ej for bug-guix@gnu.org; Wed, 25 Nov 2015 06:03:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1a1Xqo-0006xO-5s for bug-guix@gnu.org; Wed, 25 Nov 2015 06:03:02 -0500 Sender: "Debbugs-submit" Resent-To: bug-guix@gnu.org Resent-Message-ID: In-Reply-To: <87lhkckerl.fsf@netris.org> (Mark H. Weaver's message of "Thu, 05 Feb 2015 02:18:22 -0500") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Mark H Weaver Cc: 19779-done@debbugs.gnu.org Mark H Weaver skribis: > When I first wrote 'wicd-service', I mispelled > 'make-forkexec-constructor'. This caused a kernel panic whenever the > service was included in my OS config. I don't know whether dmd printed > a helpful error message, but if so, it was followed immediately by a > kernel call trace that caused earlier messages to scroll off the screen. > The result is that it was quite difficult to find the source of the > error. > > In case of such errors, it would be good if dmd would print an error > message with the most useful information at the bottom (in case it does > not all fit on the display) and then to avoid exiting so that the > message could be read and understood. Commit b9c7ed7 wraps service loading in =E2=80=98call-with-error-handling= =E2=80=99, which spawns a REPL when something goes wrong. Better than a kernel panic! Ludo=E2=80=99.