I'm writing a game in an engine of my own design. Very occasionally, and without much cause, when I come to render the post processing result to a quad, the glBindVertexArrays crashes. It actually doesn't crash on that thread, it crashes in the nVidia GPU thread on an instruction called "INT E29".. I don't know machine code very well. Anyway reading up about this, it looks like it could be something to do with putting the wrong stuff in VAOs but when this crash happens I will have rendered it for a good minute at 400+ fps already, and the VAO wouldn't ever been called other than on initialisation. Any ideas?

  • \$\begingroup\$ Often random crashes like this come from random reasons. Do you have a debug mode? Does this happen consistently in release and debug versions? Is there possibility of memory leaks or corruption? \$\endgroup\$ – Jay Mar 11 '19 at 14:15
  • \$\begingroup\$ I'm using the visual studio debugger, but the crash happens so rarely that it's hard to reproduce. Not tried a release version, I can give that a go. There are no other symptoms of memory leaks but I won't rule out the possibility, could a memory leak in my thread(s) cause exceptions in the nvidia one? I guess what I'm looking for is debugging advice rather than specific solutions yeah. \$\endgroup\$ – Figwig Mar 11 '19 at 14:24
  • \$\begingroup\$ It's possible that the crash isn't even in glBindVertexArray; you may have an unitialized pointer that's causing execution to jump to this location. The random nature of your crashes suggests that this is the case, so I'd recommend that you check over all of your stack variables - particularly pointer types - and ensure that they're initialized (set them to NULL if there's no obvious other value). If this is what's happening, this should then get you a clean crash at the actual correct location. \$\endgroup\$ – Maximus Minimus Mar 11 '19 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.