[Issue 3463] Integrate Precise Heap Scanning Into the GC
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jul 20 19:51:28 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3463
--- Comment #28 from Leandro Lucarella <llucax at gmail.com> 2010-07-20 19:51:19 PDT ---
Some extra info:
(gdb) up
#5 0x00000000004679d4 in VarDeclaration::fillPointerMap (this=0x1130700,
pm=0x7fff15974fc0, a_offset=0) at declaration.c:1379
1379 type->fillPointerMap(pm, offset + a_offset);
(gdb) list
1374
1375 void VarDeclaration::fillPointerMap(PointerMap *pm, size_t a_offset)
1376 {
1377 //printf("VarDeclaration::fillPointerMap() %s, ty = %d, offs=%d\n",
toChars(), type->ty, (int)offset);
1378 if (!isDataseg())
1379 type->fillPointerMap(pm, offset + a_offset);
1380 }
1381
1382 /******************************************
1383 * If a variable has an auto destructor call, return call for it.
I have commented out that printf() and this is what I got:
VarDeclaration::fillPointerMap() bytes, ty = 19, offs=8
VarDeclaration::fillPointerMap() buffer, ty = 0, offs=12
dmd: mtype.c:5671: void PointerMap::pointer(size_t): Assertion `offset <
m_size' failed.
And this is the piece of D code triggering the assertion:
package class MerkleDamgard : Digest
{
private uint bytes;
private ubyte[] buffer; <---- This one!
--
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