[Issue 16641] Infinite loop on InvalidMemoryOperationError in __dmd_personality_v0

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Oct 29 11:28:57 PDT 2016


https://issues.dlang.org/show_bug.cgi?id=16641

--- Comment #2 from Etienne <etcimon at gmail.com> ---
(In reply to ag0aep6g from comment #1)
> Do you have code to reproduce this? InvalidMemoryOperationError is usually
> thrown when a destructor tries to allocate GC memory during a collection.
> The current GC can't do that. So problem might be in your code or in vibe.d
> instead of druntime.

Unfortunately the stack trace cycles into itself so I can't pinpoint the
problem, but it always happens here:

https://github.com/etcimon/vibe.0/blob/master/source/vibe/stream/botan.d#L147

The issue here happens very very rarely, it's probably a very complex set of
circumstances, but the fact here is that I didn't voluntarily create a cycle in
the stack trace linked list and the problem is amplified by this function in
druntime lacking proper cycle detection.

--


More information about the Digitalmars-d-bugs mailing list