I’ve been playing with my app for some time, and I’ve been dismissing the occasional crash (app crash) to my internal code, and not plain old stuff. Today I decided to hunt down the crash. Here’s what I found so far, maybe all you can help me fix it.

First, a little system details:

AMD Athlon 550/Asus K7M /w 128 meg SDRAM
Voodoo3 3000 AGP
Windows2000

Alrighty then, with that out of the way, I’m using MS-OpenGL stock from Win2K, and the updated Voodoo3 drivers for Win2K. Project environment is VC++ 6.0 SP3.

I’ve TRACE()'d the origin of the crash to the glFinish() call in my app. Nothing happens between the prior TRACE and glFinish, so its gotta be there. Also, under debugging, the app crashes to NTDLL!.

Here’s the symptoms:

App starts, runs fine. You can do various rotations, translations, etc, it runs beautifully. Then, it arbitrarily decides to crash. Sometime 30 seconds, sometimes 2 hours into the app.

Is there anything with my configuration/software/hardware/etc. that may be doing this?

I’m going to go test my app on an NT40 box with a NVIDIA card, so I’ll post a followup if there is one of interest.

GLFinish executes all unfinished OpenGL commands and doesnt return untill it has finished, so I would say that the bug could be in any OpenGL command in your code…not much help . The fact that the crash happens after a random period of time points towards a divide by zero somewhere maybe at some rotation point. Your best bet is to try it on another system, then you can eliminate the problem being down to hardware or drivers.

Also, I doubt its my code. All models are placed into display lists, and rendered from there. There are absolutely no calculations done in the rendering pipe save a few calls to glTranslate, a few matched pushes and pops, and one glGetFloatv on a matrix and a matrix mult. No divisions to be done here!