http://bugzilla.gdcproject.org/show_bug.cgi?id=54
Bug #: 54 Summary: GC corruption of TLS memory Classification: Unclassified Product: GDC Version: development Platform: x86_64 OS/Version: Linux Status: NEW Severity: major Priority: Normal Component: gdc AssignedTo: ibuc...@gdcproject.org ReportedBy: pdewa...@gmail.com This occured while trying to get Debian's val-and-rick package to work with GDC trunk. When compiling the package with the -O flag, I got the following memory layout: (gdb) p &_tlsstart $18 = (<thread local variable, no debug info> *) 0x7ffff7ef07c4 (gdb) p &_tlsend $19 = (<thread local variable, no debug info> *) 0x7ffff7ef0f38 (gdb) find &_tlsstart, &_tlsend, 'abagames.vr.shape.BitmapShape.letters()' 0x7ffff7ef0878 Note that _tlsstart is not aligned on an 8-byte boundary. The GC's mark routine walks from _tlsstart to _tlsend in pointer-sized (8 byte) steps, so it misses all properly aligned pointers in this range. As a result in-use objects such as that BitmapShape instance are deleted. -- Configure bugmail: http://bugzilla.gdcproject.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.