clasp-developers / clasp

clasp Common Lisp environment
https://clasp-developers.github.io/
2.57k stars 145 forks source link

swank debugger crash on the division-by-zero condition (FreeBSD) #1030

Open ak-coram opened 4 years ago

ak-coram commented 4 years ago

Steps to reproduce:

  1. Evaluate (mod 1 0) in the slime repl.
  2. Condition of type division-by-zero is signaled opening the slime debugger.
  3. Press a (for sldb-abort)

The clasp process dies with the following message:

../../src/main/main.cc:266 There was an unhandled unknown exception in process [pid: 37961] - do something about it.

Other conditions (such as type-error) seem to work fine.

Environment:

GDB-Backtrace.txt

Bike commented 4 years ago

Possibly related to #961. Relatedly, could you try the example in that issue?

(handler-bind ((arithmetic-error #'abort))
  (restart-case
      (integer-decode-float #.ext:short-float-positive-infinity)
    (abort ())))
ak-coram commented 4 years ago

Relatedly, could you try the example in that issue?

@Bike: I get a condition of type EXT:SEGMENTATION-VIOLATION in the debugger, it crashes as well when I do sldb-abort (GDB backtrace). It doesn't crash when I use the cli repl (the same condition gets signaled).

Bike commented 4 years ago

That's weird. Maybe FreeBSD has different signal behavior somehow.

ak-coram commented 3 years ago

I can't reproduce this anymore, with the current master I simply get the following (without even involving swank):

Starting cclasp-boehm-0.4.2-3624-ge22772226-cst ... loading image...
Top level in: #<PROCESS TOP-LEVEL @0x80e02ccd1 (Running)>.
COMMON-LISP-USER> (mod 1 0)
Floating point exception (core dumped) 
Bike commented 3 years ago

That is of course worse...

I don't have a FreeBSD system to test on and I'm still mystified by the other problems we've had in #961