DrRacket sequence-contract-violation: negative: method insert cannot be called
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 516
- Forks
- 103
- PR merge metrics
- No merged PRs in 30d
Description
What version of Racket are you using?
Racket 8.1 CS
What program did you run?
I cannot reproduce the bug, and cannot share the student's code.
A student somehow triggered this error in DrRacket, after which DrRacket would not close, would not force quit, would not allow the laptop to restart, and had to be killed with kill -9.
It appears to have been triggered while saving the file.
What should have happened?
The file should have saved, or at least, not completely borked DrRacket.
If you got an error message, please include it here.
#| DrRacket Internal Error
sequence-contract-violation: negative: method insert cannot be called, except in states (unlocked), args ";; The first three lines of this file were inserted by DrRacket. They record metadata\n;; about
the language level of this file in a form that our tools can easily process.\n#reader(lib \"htdp-intermediate-reader.ss\" \"lang\")((modname pset-08-starter... 0 0
context...:
/Applications/Racket v8.1/share/pkgs/drracket/drracket/private/unit.rkt:581:10: on-save-file method in ...ket/private/unit.rkt:556:8
/Applications/Racket v8.1/share/pkgs/gui-lib/mred/private/editor.rkt:274:6: save-file method in make-editor-buffer%
/Applications/Racket v8.1/share/pkgs/drracket/drracket/private/unit.rkt:2981:8
/Applications/Racket v8.1/share/pkgs/drracket/drracket/private/unit.rkt:2980:6: save-all-unsaved-files method in frame-mixin
/Applications/Racket v8.1/share/pkgs/drracket/drracket/private/unit.rkt:3388:6: on-activate method in frame-mixin
/Applications/Racket v8.1/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:435:6
/Applications/Racket v8.1/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:486:32
/Applications/Racket v8.1/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:634:3
|#
Please include any other relevant details
macOS
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining the save path shown in the stack trace, especially drracket/private/unit.rkt and gui-lib/mred/private/editor.rkt. Reproduce the sequence-contract-violation during saving on macOS if possible, then determine why insert is called outside the unlocked state. Done means saving no longer triggers the internal error or leaves DrRacket unable to close.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, devtools
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100