Hello jcl,

I resisted writing thread for three months now, trying to get to the bottom of it myself, but I'm finally all out of ideas and really need your help with it. I've contacted support before without getting into detail about the problem (thinking it had to do with mallocs) but that doesn't seem to be the case anymore..

I've been getting random E15E13 crashes all over my code, in functions that really seem to be fine. And it only gets weirder after this..

I can manage to get it crash at the same line every time I run it. Without changing the code, I then play with the nexus size a bit, and the crash will disappear or happen in another function. Also, sometimes I get the crash to happen much less frequently just by running my project using a bat file command: "C:\Program Files\GStudio7\acknex.exe" myproject.c, instead of running it from WED/SED. Finally, I sometimes got the crash to disappear just by declaring a new array to my scripts, f.e.: "var dummyarray[100000];"

I've done a lot of looking around in the forums and saw your responses to similar problems about being a memory problem/uninitialized pointer, smth like that.. I went ahead with removing all sys_mallocs from my project with no effect. I also removed other suspicious actions like running functions using function pointers, replaced structs with simple static arrays to save my data, etc, with the same results.

My major suspicion now is my lengthy source code. I've been working on this project (Intense X) for many many years now and I'm up to 1.5mb of code in 43 .c files. I've realized that if I comment out #includes of some .c files that contain functions that never even get executed on my test runs, the frequency of the E1513 crashes drop.

Finally, my attempts to debug the reported crashing functions using diag() gave me some pretty interesting results as well:

Let's say I get the following crash:



I fill the is_SubAction_CoverSpotsEvaluation function with diag()s to determine the exact position of the crash inside that function. I don't make any other changes in the code but the diag commands. I then run the project again, and it will now crash on a totally different function.

At one time I managed to get it to crash on the same function even after adding diags everywhere in it. This showed me that it's not unitialized variables that crash it since the function would run 10-20 times using a variable called xyz for example. The 21th time it run the function it would crash when it tried to access the variable xyz for the 21th time. Of course, if I add a few more diags I could move the crash to a whole different location.

I can't think of anything else I can do about this, so I'll have to give up on my project all together if you can't figure it out either. I could of course upload a level which always crashes at the beginning on my machine, although it could be about 100mb zipped.

I'm not sure if I'm still eligible for support or if I ever was (I got A7 Pro as a prize from last summer's Conitec contest) but I'm willing to pay anything it takes for you to take a look at the project. I get a nice return from it, especially on Christmas, and I wouldn't mind giving something back in order to keep it alive.

Thank you,
Aris


INTENSE AI: Use the Best AI around for your games!
Join our Forums now! | Get Intense Pathfinding 3 Free!