Bug 7031 – Stack overflow with immutable recursive struct

Status
RESOLVED
Resolution
DUPLICATE
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-11-29T13:02:00Z
Last change time
2015-06-09T05:11:37Z
Assigned to
nobody
Creator
hoganmeier

Comments

Comment #0 by hoganmeier — 2011-11-29T13:02:03Z
immutable(ReflectionInfo)* reflection; struct ReflectionInfo { const(ReflectionInfo)[] objects; } $ gdb --args dmd -g test.d
Comment #1 by hoganmeier — 2011-11-29T13:03:59Z
Another interesting testcase: class ApiProvider { void _getCsrfInfo() {} // comment this out and it suddenly works immutable(ReflectionInfo)* reflection; } struct ReflectionInfo { const(ReflectionInfo)[] objects; }
Comment #2 by hoganmeier — 2011-11-29T13:06:43Z
Maybe related to http://d.puremagic.com/issues/show_bug.cgi?id=5533 Recursion is in dwarf_typidx: Program received signal SIGSEGV, Segmentation fault. 0x0000000000493788 in dwarf_typidx (t=Cannot access memory at address 0x7fffff7feed8 ) at backend/dwarf.c:1465 1465 { unsigned idx = 0; (gdb) bt #0 0x0000000000493788 in dwarf_typidx (t=Cannot access memory at address 0x7fffff7feed8 ) at backend/dwarf.c:1465 #1 0x0000000000493817 in dwarf_typidx (t=0x8c4950) at backend/dwarf.c:1574 #2 0x0000000000493ae2 in dwarf_typidx (t=0x8c4978) at backend/dwarf.c:1628 #3 0x0000000000494950 in dwarf_typidx (t=0x91f2c8) at backend/dwarf.c:1944 #4 0x0000000000493817 in dwarf_typidx (t=0x8c4950) at backend/dwarf.c:1574 #5 0x0000000000493ae2 in dwarf_typidx (t=0x8c4978) at backend/dwarf.c:1628 #6 0x0000000000494950 in dwarf_typidx (t=0x91f2a0) at backend/dwarf.c:1944 #7 0x0000000000493817 in dwarf_typidx (t=0x8c4950) at backend/dwarf.c:1574
Comment #3 by code — 2011-12-19T10:08:35Z
*** This issue has been marked as a duplicate of issue 7127 ***