Issue Details (XML | Word | Printable)

Key: JOGL-35
Type: Bug Bug
Status: Resolved Resolved
Resolution: Incomplete
Priority: Critical Critical
Assignee: jogl-issues
Reporter: sbonneau
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
jogl

VM crashes with "EXCEPTION_STACK_OVERFLOW" when binding a CG fragment program

Created: 01/Sep/03 07:05 PM   Updated: 31/Jan/05 01:41 AM   Resolved: 31/Jan/05 01:41 AM
Component/s: jogl
Affects Version/s: current
Fix Version/s: milestone 1

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive repro.zip (9 kB) 01/Sep/03 07:06 PM - sbonneau

Environment:

Operating System: Windows 2000
Platform: PC


Issuezilla Id: 35
Tags:
Participants: jogl-issues, kbr and sbonneau


 Description  « Hide

Any time I try to bind a fragment program with CgGL.cgGLBindProgram(), the VM
crashes with EXCEPTION_STACK_OVERFLOW. I've looked into the JNI glue code
that's generated for this function, and nothing looks out of the ordinary. I even
went so far as to write a C-based version of my test program to make sure that it
wasn't something screwy with the CG configuration on my box.

Here's an excerpt from the error log that the VM generates:

--------------
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_STACK_OVERFLOW (0xc00000fd) occurred at
PC=0x2A8E8BB7
Function=[Unknown.]
Library=C:\Program Files\NVIDIA Corporation\Cg\bin\cgGL.dll

NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.

Current Java thread:
at net.java.games.cg.CgGL.cgGLBindProgram0(Native Method)
at net.java.games.cg.CgGL.cgGLBindProgram(CgGL.java:894)
at Main$Renderer.display(Main.java:54)
at net.java.games.jogl.impl.GLDrawableHelper.display
(GLDrawableHelper.java:74)
at net.java.games.jogl.GLCanvas$DisplayAction.run(GLCanvas.java:208)
at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:192)

  • locked <0x100a02f8> (a
    net.java.games.jogl.impl.windows.WindowsOnscreenGLContext)
    at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:196)
    at net.java.games.jogl.GLCanvas.display(GLCanvas.java:91)
    at net.java.games.jogl.Animator$1.run(Animator.java:104)
    at java.lang.Thread.run(Thread.java:534)
    -----------

The specs that I'm running with are the following:

Windows 2000
GeForce4 Ti 4200 (driver v6.14.10.4403)
CG Toolkit v1.1.307.700
JDK 1.4.2

My JoGL binaries were built locally from freshly updated sources using VC6. I can't
think of anything else off the top of my head that might be relevant.

I'll attach a zip file containing the source for a boiled-down test that reliably
reproeduces the crash for me, the corresponding pre-compiled binaries, and hte
hs_err_pid<ID> log file that the VM generated.



sbonneau added a comment - 01/Sep/03 07:06 PM

Created an attachment (id=9)
Contains the VM error log, as well as the source and binaries for my repro test case.


kbr added a comment - 31/Jan/05 01:41 AM

Sorry for not commenting on this earlier. I am pretty sure this is a bug in the
submitter's test case. I haven't found any examples of Cg programs on the net
that bind a fragment program exclusively, in particular one which doesn't take
any input parameters. I'm going to mark this as invalid, as the Cg demos which
are in the jogl-demos project work fine. If you can come up with a boiled-down
test case that works in the C programming language but not in Java with JOGL's
Cg bindings then please reopen this bug or file a new one and attach both
languages' test cases.