racket / macro-debugger

Other
8 stars 16 forks source link

Internal Error: #<void> instead of list? #18

Closed DIJamner closed 4 years ago

DIJamner commented 7 years ago

I was attempting to use the macro stepper on a program in DrRacket v6.6 and got this internal error:

in-list: contract violation
  expected: list?
  given: #<void>
  context...:
   /Applications/Racket v6.6/collects/racket/private/for.rkt:612:2: in-list
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/syntax-browser/display.rkt:159:4: highlight-syntaxes method in display%
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/syntax-browser/widget.rkt:150:9: for-loop
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/syntax-browser/util.rkt:18:9
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/view/step-display.rkt:71:4: core443
   ...browser/util.rkt:18:9
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/view/stepper.rkt:438:4: update* method in macro-stepper-widget%
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/view/stepper.rkt:400:31
   .../more-scheme.rkt:261:28
   /Applications/Racket v6.6/share/pkgs/macro-debugger/macro-debugger/view/stepper.rkt:369:24
bennn commented 7 years ago

Can we see the program?

DIJamner commented 7 years ago

What should be the same code is no longer producing the error. I'm not sure what changed. Might it be related to DrRacket's state? The code is far from short and, since I can no longer reproduce the issue, I can't make a simpler example.

DIJamner commented 7 years ago

I've managed to reproduce the bug. The code can be found at https://github.com/DIJamner/lambda-compiler/tree/fn-unify. I'm not too sure what's been causing it, so I can't really simplify the program a ton. Maybe it only occurs after 1am? The bug occurs when I step through file test/lambda-x64.rkt.

rmculpepper commented 4 years ago

This works in the current pre-release.