LWJGL
May 22, 2013, 15:20:15 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: LWJGL is now using GitHub
 
   Home   Help Search Login Register  



Pages: [1]
  Print  
Author Topic: Crash...and how to read native stack...?  (Read 766 times)
EgonOlsen
Regular nerd
**
Posts: 93



WWW
« on: April 11, 2012, 11:27:51 »

I've got reports about problems when running jPCT based apps on some NVidia cards. The program either runs fine or crashes at startup and it's impossible to tell when it does what. It crashes when using VBOs or normal vertex arrays, when using indexed or plain geometry...i can't find a pattern in that. The same code runs fine on ATI, Intel, SiS etc....so i thought, that looking at the crash log might help, but i don't understand what i'm seeing. This is an example when using LWJGL 2.8.3:

Code:
C  [nvoglv32.DLL+0x6fc2b1]  DrvPresentBuffers+0x66951
C  [nvoglv32.DLL+0x7bdbb2]  DrvPresentBuffers+0x128252
C  [nvoglv32.DLL+0x7be9ce]  DrvPresentBuffers+0x12906e
C  [nvoglv32.DLL+0x7bef70]  DrvPresentBuffers+0x129610
C  [nvoglv32.DLL+0x130c44]
C  [lwjgl.dll+0x97d8]  Java_org_lwjgl_opengl_GL33_nglVertexAttribP1uiv+0x18
J  org.lwjgl.opengl.GL11.glDrawElements(ILjava/nio/IntBuffer;)V
j  gui.Main.main([Ljava/lang/String;)V+9

Am i right that this is meant to be read more or less like a java stack trace, i.e. you start at the bottom working your way up in the call chain until it crashes? If so, how comes this:

Code:
C  [lwjgl.dll+0x97d8]  Java_org_lwjgl_opengl_GL33_nglVertexAttribP1uiv+0x18
J  org.lwjgl.opengl.GL11.glDrawElements(ILjava/nio/IntBuffer;)V

What does GL33_nglVertexAttribP1uiv has to do with glDrawElements? They aren't related in any way and i'm not calling anything from GL33 myself nor does the code inside glDrawElements. Another example from another version of LWJGL (don't know which, maybe 2.8.0) is this:

Code:
C  [nvoglv32.DLL+0x861a70]  DrvPresentBuffers+0x75290
C  [nvoglv32.DLL+0x9322f2]  DrvPresentBuffers+0x145b12
C  [nvoglv32.DLL+0x9343c5]  DrvPresentBuffers+0x147be5
C  [nvoglv32.DLL+0x9346af]  DrvPresentBuffers+0x147ecf
C  [nvoglv32.DLL+0x16cb41]
C  [lwjgl.dll+0x9ec8]  Java_org_lwjgl_opengl_EXTDirectStateAccess_nglGetMultiTexGenfvEXT+0x18
J  org.lwjgl.opengl.GL11.glDrawElements(ILjava/nio/IntBuffer;)V
V  [jvm.dll+0x122c7e]
V  [jvm.dll+0x1c9c0e]

...and again: What does nglGetMultiTexGenfvEXT has to do with glDrawElements? I simply don't get it!? What's the secret in reading this stack or are the results just bogus for some reason?
Logged
EgonOlsen
Regular nerd
**
Posts: 93



WWW
« Reply #1 on: April 13, 2012, 08:29:48 »

Nobody has an idea on how to read this... Huh
Logged
CodeBunny
Nerdus Imperius
*****
Posts: 561



WWW
« Reply #2 on: April 13, 2012, 08:40:53 »

I'm not really a native code / stack trace kind of guy, sorry. Not quite sure how to help.

Also, shouldn't this thread be in the Bugs section or LWJGL Development? It's really not OpenGL specific.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
SMFAds for Free Forums
Valid XHTML 1.0! Valid CSS!