[Issue 10701] segfault after GC.realloc

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Jul 23 03:56:54 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=10701


Maxim Fomin <maxim at maxim-fomin.ru> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maxim at maxim-fomin.ru


--- Comment #1 from Maxim Fomin <maxim at maxim-fomin.ru> 2013-07-23 03:56:52 PDT ---
Reduced:

import core.memory, std.array;

extern(C) int printf(const char*, ...);

void readt()
{
    //ubyte[] result = new ubyte[](5000); //This works
    ubyte[] result; result.length = 5000; //But this fails
    GC.free(result.ptr);
    result = null;
}

string toStr(long src)
{
    auto w = appender!string();
    return "";
}

void main()
{
    foreach(int i; 0 .. 256)
    {
        printf("Step: %d\n", i);
        string corruptme = "./temp";
        foreach(e; 0 .. 256)
        {
            corruptme ~= toStr(1);
        }
        readt();
    }
}


Removing appender makes bug go away.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list