glVertex2d EXCEPTION_ACCESS_VIOLATION

When running a certain class in my app I get the following error. It happens at a call to glVertex2d() for a GL_QUAD_STRIP a few hundred iterations through a loop. The arguments are array values which look OK when I check them in the debugger just before the fateful call. Other classes I have which call glVertex2d seem to work fine.

Any ideas?


#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x695ce571, pid=1692, tid=3008
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_02-b09 mixed mode)
# Problematic frame:
# C  [nvoglnt.dll+0xce571]
#

...

Stack: [0x65ff0000,0x66030000),  sp=0x6602f26c,  free space=252k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [nvoglnt.dll+0xce571]
C  [nvoglnt.dll+0xb92f8]
j  net.java.games.jogl.impl.windows.WindowsGLImpl.glVertex2d(DD)V+0

...

---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 4 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 2097151k(2097151k free), swap 4194303k(4194303k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_02-b09) for windows-x86, built on Mar  4 2005 01:53:53 by "java_re" with MS VC++ 6.0

NVidia Quadro FX 3400
Driver 7.1.8.4, 2/24/2005

JOGL 1.1b10

What are you debugging with?

What are you debugging with?

JBuilder 2005.

The problem also happens running the program from a batch file.

Does it sound like a bug in the driver?

It sounds to me more like you’re trying to make OpenGL calls from outside your GLEventListener’s callback methods. Is this the case? If not, have you tried plugging in the DebugGL pipeline (see the Gears demo for an example)? Does it report any errors?

I’m calling the drawing code from the display method. I don’t see any errors. It just writes

I went back and tried running it with a previous version of my app using GL4Java and Java 1.4.2 and I got the same error. I guess that indicates a problem with the video driver or OS?

Does the problem go away if you run with “java -Xint …” or “java -server …”? If so, that would indicate a generic HotSpot client VM problem and I’d like to get a copy of your app as a test case.

If the problem is still there, it’s probably a driver bug that you’re tickling due to some structure of OpenGL work in your app. Try cutting down the OpenGL work your app does until you can isolate the thing that’s causing the failure.

-Xint and -server gave the same error.

I’ll try to simplify the problem. Thanks