Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
From: Peter Graves <peter@ar...> - 2004-01-05 17:57:38
It's possible that the following bug (if it is one) would only ever be
found by someone trying to reverse-engineer the error reporting of
PEEK-CHAR, but in any case...
If you simply enter (PEEK-CHAR 12) at the REPL, then type 'x' and hit
Enter after that, you get (with sbcl 0.8.7):
debugger invoked on a SB-INT:BUG in thread 9973:
Impossible case reached in PEEK-CHAR
This is probably a bug in SBCL itself. (Alternatively, SBCL might have been
corrupted by bad user code, e.g. by an undefined Lisp operation like
(FMAKUNBOUND 'COMPILE), or by stray pointers from alien code or from unsafe
Lisp code; or there might be a bug in the OS or hardware that SBCL is running
on.) If it seems to be a bug in SBCL itself, the maintainers would like to
know about it. Bug reports are welcome on the SBCL mailing lists, which you
can find at <http://sbcl.sourceforge.net/>.
You can type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT ] Reduce debugger level (leaving debugger, returning to toplevel).
1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop.
(SB-INT:BUG 1 "Impossible case reached in PEEK-CHAR")[:EXTERNAL]
12 is, of course, an illegal peek-type. ACL (for example) reports this
error immediately after (PEEK-CHAR 12), without waiting for the user to
type 'x' and hit Enter.
Peter Graves <peter@...> writes:
> If you simply enter (PEEK-CHAR 12) at the REPL, then type 'x' and hit
> Enter after that, you get (with sbcl 0.8.7):
> debugger invoked on a SB-INT:BUG in thread 9973:
> Impossible case reached in PEEK-CHAR
> 12 is, of course, an illegal peek-type. ACL (for example) reports this
> error immediately after (PEEK-CHAR 12), without waiting for the user to
> type 'x' and hit Enter.
Thank you. If you need a quick fix, execute
(handler-bind ((error (lambda (c) (continue c))))
(defknown peek-char (&optional (or character (member nil t)) streamlike t t t)
and recompile PEEK-CHAR (it is in src/code/stream.lisp).
"Alas, the spheres of truth are less transparent than those of
illusion." -- L.E.J. Brouwer