
Quoting Ralf Stephan <ralf@...748...>:
[ The garbage collector maintains a separate heap from the
system
heap that the paint servers use, and this sort of erroneous
reuse
isn't generally possible across heaps. ]
[to all on the list] Any ideas for further tracking things
down?
Naive answer: Use something like efence?
I really don't know if such libraries can help with code of this league but I'm hoping someone can tell me why not.
efence or valgrind _might_ catch it if the memory remained un-reused for a long period of time. The problem, though, is that most of the time the memory is getting quickly allocated again, so accesses to it look valid. Catching it would be a matter of (slim) luck. :/
Maybe one possibility would be to modify efence to mark freed memory as inaccessible but never actually return it to the pool for re-allocation...
Anyone interested? I could do it myself, but I can't promise to have time to do it soon.
-mental