[plt-dev] DrScheme definitions crash in pre-release

From: David Van Horn (dvanhorn at ccs.neu.edu)
Date: Sat May 23 14:54:23 EDT 2009

Robby Findler wrote:
> I tried to follow the steps with collects/drscheme/private/rep.ss and
> couldn't make it fail. Specifically, I hit return on the second line
> (making the buffer modified) and then check syntax; I waited until it
> was in "coloring" mode (according to the status line) and then hit
> cmd-s (for save) and nothing bad happened. I only tried it about 4
> times, tho, so maybe I just didn't try enough?

The problem occurs for me even if I click Save just once, although there 
is a time delay between clicking and the error.

> Or possibly because I'm using a mac there is something about the way
> event handling works on the mac that makes me miss the bug (because
> the save button does not go away until check syntax completes).

I'm on a mac too.

> Looking at the code, I think this could happen if the buffer were
> modified (triggering a callback that sets arrow-vectors to #f) while
> check syntax were still coloring the buffer. Check syntax does do
> things like lock the editor in order to ensure that those callbacks
> don't happen.
> So I guess the thing to do would be to figure out how it is getting
> set, probably by inspecting the stack at the point where  (set!
> arrow-vectors #f) happens (line 404). If you dont' mind, could you add
> this between lines 403 and 404 and send the output?
>                   (printf "~s\n" (continuation-mark-set->context
> (current-continuation-marks)))

I don't mind.  I made this edit, but where does this output go?  I tried 
opening DrScheme from the terminal, but I don't see any output there and 
so far as I can tell, there is no output in DrScheme.

> ... are you in a teaching language? That would actually make more
> sense to me (but I'm still not getting the error to happen there
> either).

Yes, I am using ISL/lambda (this was in the original msg).  I just 
confirmed -- the bug only occurs when I am in a student language.


Posted on the dev mailing list.