MichaelGuennewig@gmx.de (Michael Günnewig) writes:
Mike Hearn mike@theoretic.com writes:
This is very much like a problem I am having with InstallShield. Something, somewhere, is trashing the heap data structures, which causes a crash some time later, often yards away from the original bug. As far as I know, there is no good way to spot this problem, it's just C/C++ sucking.... maybe valgrind might help?
Have done some tests with some other programms which seems to work and get the following (and some more which I was able to fix myself): ,----- | ==3597== 6 errors in context 4 of 5: | ==3597== Conditional jump or move depends on uninitialised value(s) | ==3597== at 0x402606D7: HEAP_ValidateInUseArena (heap.c:854) | ==3597== by 0x40260A40: HEAP_IsRealArena (heap.c:965) | ==3597== by 0x402615F2: RtlValidateHeap (heap.c:1489) | ==3597== by 0x4145E5B0: HeapValidate (heap.c:199) | ==3597== `-----
At heap.c:854 (it's ntdll/heap.c Version 1.23): ,----- 851 | } 852 | 853 | /* Check magic number */ 854 | if (pArena->magic != ARENA_INUSE_MAGIC) 855 | { 856 | if (quiet == NOISY) { 857 | ERR("Heap %08lx: invalid in-use arena magic for %08lx\n", `-----
And when I quit "The Elder Scrolls III: Tribunal" version 1.4.1313 german before it bombs, I sometimes get the error message from line 857.
Will try to find out who is the bad guy ... can someone guide me?
Michael