Single stepping broken
Describe the bug
Stepping with the debugger command STEP
is broken.
To Reproduce
Steps to reproduce the behavior:
- Run the latest version of lisp; I'm doing this on linux
- See this transcript:
* (break)
Break
[Condition of type SIMPLE-CONDITION]
Restarts:
0: [CONTINUE] Return from BREAK.
1: [ABORT ] Return to Top-Level.
Debug (type H for help)
(INTERACTIVE-EVAL (BREAK))
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists:
target:code/lispinit.lisp.
0] bp :start :function #'sqrt
1: FUNCTION-START in KERNEL:%SQRT
Added.
0] 0
NIL
* (sqrt 2d0)
*Breakpoint hit*
[Condition of type SIMPLE-CONDITION]
Restarts:
0: [CONTINUE] Return from BREAK.
1: [ABORT ] Return to Top-Level.
Debug (type H for help)
(SQRT 2.0d0)
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists:
target:code/irrat.lisp.
5] step
<many GC messages>
control stack overflow has occurred:
the program has entered the yellow control stack guard zone.
Please note that you will be returned to the Top-Level if you
enter the red control stack guard zone while debugging.
Control stack overflow
[Condition of type KERNEL:STACK-OVERFLOW]
Restarts:
0: [ABORT ] Return to debug level 1.
1: [CONTINUE] Return from BREAK.
2: Return to Top-Level.
Debug (type H for help)
(KERNEL:YELLOW-ZONE-HIT)
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists:
target:code/interr.lisp.
- This causes a stack overflow
Expected behavior
Stepping the in the debugger should work and step to the next form.
I downloaded the various releases and found out that stepping was broken somewhere between release 20b and 20c. Further bisection using the snapshots would narrow this down a bit, but I haven't done that yet.
It would be nice to have stepping working again. Obviously, I don't use stepping very much (not since at 2011), but it is very handy when needed.