On Fri, Dec 01, 2000 at 01:29:49PM +0100, Raymond Wiker wrote:
> William Harold Newman writes:
> > This release has no real theme (except maybe "yes, SIGINT handling
> > is still flaky.."), mostly just various fixes. I'm still trying to
> > fix enough bugs that I feel justified in calling 0.6.x the stable
> > branch.
> What exactly is the problem with SIGINT? I'm mainly wondering
> if this is a Linux-only problem, or if it's something that I should
> worry about under FreeBSD.
If the system is busy doing something, and you hit Ctrl-C, very likely
the next floating point operation you do then, and/or after you return
from the debugger, will raise bogus floating point exceptions.
On Linux, I can exercise it by typing
12.21 (compile-file "/home/newman/lib/lisp/misc.lisp")
at the command prompt (so that the system first does a few floating
point operations, then starts doing something complicated),
then interrupting the compilation with Ctrl-C, then using ABORT
to return from the debugger to the main command prompt, then starting
over again. After perhaps 3 tries, I typically see floating point
debugger invoked on condition of type SB-KERNEL:FLOATING-POINT-EXCEPTION:
An arithmetic error SB-KERNEL:FLOATING-POINT-EXCEPTION was signalled.
No traps are enabled? How can this be?
As long as you never use Ctrl-C, no problem.:-| Part of the reason
I haven't fixed this even though I've been using SBCL fairly
intensively over the last few months is that it actually hasn't
caused me much trouble. (I spent about two days trying to fix it,
which I guess is trouble; but the bug itself hasn't interfered
with my work much otherwise.)
As to whether the bug affects FreeBSD, that's a very good question. I
don't have a FreeBSD system to test it on, so I just tested it on
OpenBSD, which in retrospect is something I should have done a long
time ago. I can't seem to replicate the problem on OpenBSD! I guess
that means that I understood OpenBSD signals better than I understand
Linux signals, or something.. In any case, it's clearly something I
need to think about when analyzing this problem.
(The other thing I now realize should do, but haven't done yet, is to
review the old CMU CL interrupt handling code again, looking more
intensely at the floating-point-related hacks there.)
> FWIW: I'm using SBCL whenever I can get away with it. Most of
> the products I work on are in C++, but there has been some auxiliary
> tasks that I have used SBCL for. I'm *really* happy with it :-)
Thank you. Flattery may not get you everywhere, but it makes me
William Harold Newman <william.newman@...>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C