Subject: bug#20219: crash of the repl

From: Andy Wingo <[email-masked]>
Date: Thu, 23 Jun 2016 21:20:38 +0200

On Sat 28 Mar 2015 17:18, Andrew Engelbrecht <[email-masked]> writes:

> i opened guile, then pressed ctrl-c, then a bunch of other buttons
> including ctrl-d and enter. eventually it crashed:

This is an amusing bug report :) On the other hand it does seem to be
entirely reproducible if I do meta/guile -q and C-c enough times:

    $ meta/guile -q
    GNU Guile 2.1.3.17-b8f5c-dirty
    Copyright (C) 1995-2016 Free Software Foundation, Inc.

    Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
    This program is free software, and you are welcome to redistribute it
    under certain conditions; type `,show c' for details.

    Enter `,help' for help.
    scheme@(guile-user)> ^C^CWhile reading expression:
    ERROR: User interrupt
    scheme@(guile-user)> ^CWhile reading expression:
    ERROR: User interrupt
    scheme@(guile-user)> ^CWBacktrace:
              10 (apply-smob/1 #<catch-closure c22c00>)
    In ice-9/boot-9.scm:
        699:2  9 (call-with-prompt ("prompt") #<procedure e0c0c0 at ice…> …)
    In ice-9/top-repl.scm:
        33:10  8 (_ #<procedure 7f9da18b8740 at ice-9/top-repl.scm:66:5 …>)
        76:21  7 (_)
    In system/repl/repl.scm:
        142:4  6 (start-repl* _ _ _)
       168:20  5 (run-repl* #<<repl> language: #<<language> name: schem…> …)
        123:9  4 (_ signal #f "User interrupt" () (2))
    In ice-9/format.scm:
      1590:19  3 (format #<output: file /dev/pts/3> "While reading expre…")
        78:10  2 (format:format-work "While reading expression:\n" ())
    In unknown file:
               1 (write-char #\W #<output: file /dev/pts/3>)
               0 (scm-error signal #f "User interrupt" () (2))

    ERROR: In procedure scm-error:
    ERROR: User interrupt
    $

Sadly the number of C-c's that it takes to get here is not a constant :/

Andy