Comment 3 for bug 1530390

Revision history for this message
Douglas Katzman (dougk) wrote :

Reduction:

(defun crashme (a)
  (declare (optimize (safety 0)))
  (restart-case
      (progn (ignore-errors (error "Foo")) (print 'crash))
    (retry () (f1 a))
    (use-value (new) (f2 new))))

Then execute this *two* *times* at the REPL -
 (let ((a (make-array 10))) (unwind-protect (crashme 'bork) (fill a 0)))

The first works, the second gets:
CORRUPTION WARNING in SBCL pid 21699(tid 140737353955136):
Memory fault at (nil) (pc=0x1001a7b220, sp=0x7ffff221dfe8)
The integrity of this image is possibly compromised.
Continuing with fingers crossed.
Help! 11 nested errors. SB-KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded.

The stack is getting whacked. I'm pretty sure this is a problem in %%NIP-VALUES and/or stack analysis.