[Issue 23978] [REG 2.103.0] ICE: Segmentation fault in dmd.root.aav.dmd_aaGetRvalue at src/dmd/root/aav.d:127
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jun 8 13:35:36 UTC 2023
https://issues.dlang.org/show_bug.cgi?id=23978
--- Comment #10 from Iain Buclaw <ibuclaw at gdcproject.org> ---
What the Mem.xmalloc/xrealloc calls are telling me is that the D front-end with
`-lowmem` is reusing some memory that was previously allocated (and
subsequently freed) for some other purpose.
---
Despite non-determinism, some things are always constant:
1. The object that causes segfault is a ThisDeclaration
2. The AA struct always has 9 nodes, and a bucket size 32.
3. It's always array index 7 that has a value assigned seemingly from out of
nowhere.
---
Is it plausible that there might still be references within the AST to memory
xrealloc'd or xfree'd by the front-end? I could at least believe that can
happen.
Why did it take the switch from function _d_newclass to template _d_newclassT
to hit this? Still haven't a clue, but it is very clear that before
`_d_newclassT`, it is impossible to hit this segfault.
--
More information about the Digitalmars-d-bugs
mailing list