[Issue 22616] Infinity loop instead of InvalidMemoryOperationError during GC routine
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Dec 21 16:37:25 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=22616
Mathias LANG <pro.mathias.lang at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pro.mathias.lang at gmail.com
--- Comment #3 from Mathias LANG <pro.mathias.lang at gmail.com> ---
The key is:
```
#7 0x000055555559d3db in gc_malloc ()
#8 0x0000555555599875 in _d_newclass ()
#9 0x00005555555a3029 in core.runtime.defaultTraceHandler(void*) ()
#10 0x000055555559db52 in _d_traceContext ()
#11 0x000055555559d942 in _d_createTrace ()
#12 0x0000555555598cbe in _d_throwdwarf ()
```
So it means we hit
https://github.com/dlang/druntime/blob/fd9a45448244fb9dd4326520ad8526c540895eb0/src/core/runtime.d#L695
But that shouldn't be possible, since this function is guarded by a
`GC.inFinalizer` check that would lead to it returning...
--
More information about the Digitalmars-d-bugs
mailing list