On Monday, 28 July 2014 at 09:38:35 UTC, Martin Drasar via
Digitalmars-d-learn wrote:
Hi,
at the end of my program it throws InvalidMemoryOperationError.
Looking
at the documentation and past forum questions I learned that it
is
probably because of allocations in destructors. However, I have
no such
thing in my code (at least not intentionally). I am suspecting
the
std.logger package, because it throwed on me a memory error on
occasions. But regardless of the source, I would like to trace
it and
deal with it. But I do not have much of an idea where to start.
Could
you give me an advice?
More broadly speaking, it is thrown whenever certain memory
operations are attempted while the GC is running, 6 in all, as
you can see here:
https://github.com/D-Programming-Language/druntime/blob/master/src/gc/gc.d#L458
I believe I stuck in printfs till I found out which one was run
before the error was thrown, and then traced that back with more
printfs to where it was getting called. I didn't have a debugger
available, you may be able to trace faster with one.