racket / drracket

DrRacket, IDE for Racket

Home Page:http://www.racket-lang.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DrRacket Crashes on Debug Rerun on Earlier Stack-frame

LiamGaudy opened this issue · comments

I’m submitting this report in case it is helpful. The workaround is to stay on the last stack-frame when rerunning. I checked every mention of crashing in existing issues, and no one appears to have reported this issue. On 2 different laptops with Windows 10, and DrRacket version 8.8, this crash is easily reproducible. For your convenience, I put the below code and the steps to reproduce in a file that you can just run.

#lang racket
;Run this in debug mode
(define (inner)
  (void))
(define (outer)
  (inner)) ;Put a break-point here
(outer)
;Hit Go. Click on the earlier stack-frame.
;Click on Debug again. CRASH!

Here is the crash stack-trace. Let me know if you need more information from me to be helpful to you.

This appears to be a problem specifically when there are two frames but they are really in tail-position wrt to each other (so they aren't actually two frames). That is, this program doesn't seem to have the problem:

#lang racket
;Run this in debug mode
(define (inner)
  11)
(define (outer)
  (+ 1 (inner))) ;Put a break-point here
(outer)
;Hit Go. Click on the earlier stack-frame.
;Click on Debug again. CRASH!