[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