https://issues.dlang.org/show_bug.cgi?id=23978
--- Comment #10 from Iain Buclaw <ibuc...@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. --