[Bug 72] New: valgrind: use of unitialized values in the gcx module

Walter Bright newshound at digitalmars.com
Fri Mar 24 16:35:29 PST 2006


<d-bugmail at puremagic.com> wrote in message 
news:bug-72-3 at http.d.puremagic.com/bugzilla/...
> Use of uninitialised value of size 4
>   at 0x8067370: _D6gcbits6GCBits3setFkZv (in /tmp/dstress/log)
>   by 0x8066A24: _D3gcx3Gcx4markFPvPvZv (in /tmp/dstress/log)
>   by 0x8066BB7: _D3gcx3Gcx11fullcollectFPvZk (in /tmp/dstress/log)
>   by 0x8066A79: _D3gcx3Gcx16fullcollectshellFZk (in /tmp/dstress/log)
>   by 0x8065BAF: _D3gcx2GC12mallocNoSyncFkZPv (in /tmp/dstress/log)
>   by 0x8065AF6: _D3gcx2GC6mallocFkZPv (in /tmp/dstress/log)
>   by 0x806000D: _d_arrayappendc (in /tmp/dstress/log)

I don't know what to make of this. Here's the code in question:

void set(uint i)
in
{
    assert(i < nbits);
}
body
{
    //(cast(bit *)(data + 1))[i] = 1;
    data[1 + (i >> BITS_SHIFT)] |= (1 << (i & BITS_MASK));
}

Where's the use of an uninitialized value? 





More information about the Digitalmars-d-bugs mailing list