racket / drracket

DrRacket, IDE for Racket
http://www.racket-lang.org/
Other
444 stars 93 forks source link

DrRacket internal error, difficulty w/^C #601

Open jasonhemann opened 1 year ago

jasonhemann commented 1 year ago

Not entirely sure I can describe how to reproduce this, but I wanted to report. The window pop-up reports a DrRacket internal error, and the terminal provides me the following:

user break
  context...:
   /Applications/Racket v8.7/share/pkgs/draw-lib/racket/draw/private/dc.rkt:1218:4: draw-rectangle method in dc%
   /Applications/Racket v8.7/share/pkgs/draw-lib/racket/draw/private/record-dc.rkt:451:15: draw-rectangle method in record-dc-mixin
   .../private/arrow-higher-order.rkt:375:33
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/text.rkt:5505:2: do-redraw method in text%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/text.rkt:5345:2: refresh method in text%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/editor-canvas.rkt:648:2: redraw method in editor-canvas%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/editor-canvas.rkt:1295:4: all-in-chain method in canvas-editor-admin%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/text.rkt:688:2: own-caret method in text%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/editor-canvas.rkt:366:2: on-focus method in editor-canvas%
   /Applications/Racket v8.7/collects/racket/private/more-scheme.rkt:148:2: call-with-break-parameterization
   /Applications/Racket v8.7/collects/ffi/unsafe/atomic.rkt:73:13
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxwindow.rkt:245:22: on-kill-focus method in make-window-glue%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:435:6
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:486:32
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:634:3

I'm on my MacOS M1 machine running 8.7. I opened DrRacket from terminal, and ran a big-bang program. I believe it was running in the background. I then had the file open dialog open also. I tried from the terminal to ^C ^D drracket, but it didn't immediately close, and instead seemed to hang there. When I tabbed back over to drrracket, I believe that's when this window popped up. Sorry I don't have a clearer sequence to report, but I hope the stack trace is useful at least.

When I started up drracket, I did so passing a goodly number (~10) files with it. I only bring that up because I saw that when I do so, the file name keyboard shortcuts go 1: 2: 3: ... 8: , then followed by a bunch of no-name ones, and then the last one is labelled 9:. That seemed odd, so I mention it.

jasonhemann commented 1 year ago

Weird. The window persists despite my efforts to kill it through the OS. I can't find the process. Here are some additional error messages I was seeing at the terminal. Killing the terminal window from which I launched drracket didn't close the GUI immediately, but after I closed the terminal window, then tabbing back over to the GUI it finally disappeared.

^[ ^Cuser break
  context...:
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/editor.rkt:1394:2: wait-sequence-lock method in editor%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/text.rkt:770:2: begin-edit-sequence method in text%
   /Applications/Racket v8.7/share/pkgs/gui-lib/framework/private/color.rkt:846:6: match-parens method in text-mixin
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxme/editor-canvas.rkt:366:2: on-focus method in editor-canvas%
   /Applications/Racket v8.7/collects/racket/private/more-scheme.rkt:148:2: call-with-break-parameterization
   /Applications/Racket v8.7/collects/ffi/unsafe/atomic.rkt:73:13
   /Applications/Racket v8.7/collects/racket/private/more-scheme.rkt:148:2: call-with-break-parameterization
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/lock.rkt:43:38
   /Applications/Racket v8.7/collects/ffi/unsafe/atomic.rkt:73:13
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wxwindow.rkt:239:21: on-set-focus method in make-window-glue%
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:435:6
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:486:32
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:634:3
^Cuser break
  context...:
   /Applications/Racket v8.7/collects/ffi/unsafe/try-atomic.rkt:45:6
   /Applications/Racket v8.7/collects/ffi/unsafe/try-atomic.rkt:30:0: call-as-nonatomic-retry-point
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/cocoa/queue.rkt:500:39
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:435:6
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:486:32
   /Applications/Racket v8.7/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:634:3
rfindler commented 1 year ago

Not the main point, but the -1...-9 shortcuts are following what seems to be standard in browsers (and it actually is quite handy to have a keystroke that means "go to the rightmost tab" I've found!)

Robby

jasonhemann commented 1 year ago

Oh! Neat. Well, TIL!