[racket-dev] Win64 crashes (was: Pre-Release Checklist for v5.3.4)

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Apr 19 19:08:58 EDT 2013

No, unfortunately. The function in question was fairly defensive with 7
"is this pointer in range?" checks. The main bug was that it needed 8.

At Fri, 19 Apr 2013 17:43:23 -0500, Robby Findler wrote:
> Is there anything to learn about this bug that could lead to avoiding such
> bugs in the future? Perhaps some simple property that was being violated
> that one could write a checker for (maybe running Racket in some debug
> mode)?
> 
> Robby
> 
> 
> On Fri, Apr 19, 2013 at 11:20 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> 
> > At Thu, 18 Apr 2013 22:23:37 -0600, Doug Williams wrote:
> > > I did have DrRacket crash twice on startup. I'm running the 64-bit
> > version
> > > under Windows 8 64-bit.
> >
> > The stars have aligned this morning!
> >
> > We've had reports of crashes specific to 64-bit Windows, but I had not
> > been able to replicate the crash. This morning, it turns out that I'm
> > able to provoke a crash easily and consistently (by trying the same
> > things that I've always been trying).
> >
> > That crash that I see in the stack-unwinding code for generating JIT
> > stack traces, which is Win64-specific and added September 2012 (after
> > v5.3, before v5.3.1). That functionality is particularly likely to be
> > triggered when you Run or Check Syntax a program. The bugs could easily
> > manifest as either an immediate crash or a freeze. And the bugs could
> > easily have no effect, depending on Racket thread scheduling and the
> > layout of the stack. So, I think this bug is consistent with all of the
> > reports.
> >
> > Even better, it turns out that I spent much of yesterday staring at the
> > stack-unwinding code (for ARM), so the details were all paged in.
> >
> > I've pushed a repair, and I'll ping you when a build is ready to try out.
> >
> > _________________________
> >   Racket Developers list:
> >   http://lists.racket-lang.org/dev
> >

Posted on the dev mailing list.