Memory Corruption with AAs

Steven Schveighoffer schveiguy at yahoo.com
Fri Apr 2 11:01:47 PDT 2010


On Fri, 02 Apr 2010 13:15:36 -0400, dsimcha <dsimcha at yahoo.com> wrote:

> Has anyone else still been noticing difficult to reproduce memory  
> corruption
> issues in the presence of associative arrays with 2.042?  They seem to  
> happen
> very infrequently and non-deterministically.  I can only reproduce them  
> in the
> context of a large program.  However, they don't occur in 2.040 (the  
> release
> before the array stomping patch), and they are clearly a result of memory
> corruption, as contents of arrays change from what I expect them to be to
> completely random-looking values inside a loop that does a lot of memory
> management and uses AAs heavily but doesn't modify the values.

I just thought of a way to rule out or not the stomping patch, as long as  
your code does not depend on preventing array stomping.

Change your runtime's version of lifetime.d to the version before the  
append stomping patch:  
http://www.dsource.org/projects/druntime/browser/trunk/src/rt/lifetime.d?rev=251

This version should be forwards compatible with the runtime in 2.042, so  
you should be able to run your code with this runtime.  See if the errors  
still occur.

-Steve



More information about the Digitalmars-d mailing list