Saturday, July 18, 2009

Crash Bug Update

It turns out that the most likely cause of the recent crash bug was an earlier version of the gamex86.dll (possibly 3.19) I was using and which inadvertently slipped through, and that recompiling the dll based on the released 3.21 source made it go away.

Similarly, running a freshly compiled stock ID Quake2.exe and ref_gl.dll with the older gamex86.dll also repro'ed the bug.

In one sense it's a relief as it means my code is good. On the other hand, the perfectionist in me would like to be able to find out exactly what was happening in the older game dll. I guess I'll just have to accept things as they are.

My gut instinct however is that free was being called twice on the same block of memory; all the symptoms match. There's no way of verifying it however.

This is a bit of a pickle now. I really should release a gamex86.dll with the engine binary release, but in an ideal world I shouldn't have to. Oh well, if it's what's needed...

0 comments: