the repl enters a busy loop printing errors if stderr gets borked
Bug #1520694 reported by
Attila Lendvai
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
TOPLEVEL-REPL installs a (catch 'toplevel-catcher ...)
inside its LOOP. If any error nesting happens while inside that
LOOP (e.g. due to a "Broken pipe" on stderr, which is used by the
debugger), then when ERROR-ERROR throws 'toplevel-catcher
then it will only unwind until inside this LOOP, and thus the repl
will loop forever, busy printing errors.
to reproduce create a /tmp/test.sh:
#!/bin/sh
exec sbcl 2>&1 | tee /tmp/test.log
start it, and when the repl is up press Ctrl-C.
it should start busy loop printing errors in the terminal.
Changed in sbcl: | |
status: | New → Confirmed |
assignee: | nobody → Stas Boukarev (stassats) |
Changed in sbcl: | |
assignee: | Stas Boukarev (stassats) → nobody |
description: | updated |
To post a comment you must log in.