[racket-dev] strange memory corruption with drracket

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Nov 1 09:20:12 EDT 2012

I've pushed a repair.

At Wed, 31 Oct 2012 21:33:06 -0400, Sam Tobin-Hochstadt wrote:
> With my latest fix to handling of the `Any` type, the following small
> program (also at https://gist.github.com/3991023) crashes drracket (I
> can't provoke the bug with plain racket):
> 
> #lang racket/load
> 
> (module m typed/racket
>   (define: v : Any (exn "" (current-continuation-marks)))
>   (provide v))
> 
> (module n racket
>   (require 'm)
>   v)
> 
> (require 'n)
> 
> I regularly get segmentation faults, but I've also seen errors
> complaining that `make-struct-field-accessor` is not getting the
> correct kind of value, instead getting #<bad-value> or #<module-code>
> or other assorted unlikely results, like this:
> 
> make-struct-field-accessor: contract violation
>   expected:
>    (and/c struct-accessor-procedure? (lambda (p)
> (procedure-arity-includes? p 2)))
>   given: #<variable-code>
>   argument position: 1st
>   other arguments...:
>    0
> 
> There's a stack trace from a segfault at the gist link above. The
> relevant code is in typed-racket/utils/any-wrap.rkt.
> -- 
> sam th
> samth at ccs.neu.edu
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.