Page 1 of 1

jogl3-Backend crashes on Mac Pros from 2008[SOLVED]

Posted: Mon 5. Nov 2012, 19:52
by benjamin.kutschan
The graphics card on the mac pro from 2008 is a Radeon 2600 XT supporting opengl 3.2 but not 3.3
Therefore the incompatibility is currently not properly detected, because GLProfiles in jogamp do not distinguish between 3.3 and 3.2

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Mon 12. Nov 2012, 14:37
by gunn
It also crashes on my new-ish iMac with graphic card AMD Radeon HD 6970M. Full hardware description:

Hardware Overview:

Model Name: iMac
Model Identifier: iMac12,2
Processor Name: Intel Core i7
Processor Speed: 3,4 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 12 GB
Boot ROM Version: IM121.0047.B1F
SMC Version (system): 1.72f2
Serial Number (system): DGKH21H5DHJW
Hardware UUID: 434B1BFB-CC14-524B-9F69-9E922D546DD8

Stack trace is:

java.lang.RuntimeException: javax.media.opengl.GLException: Not a GL3 implementation
at jogamp.common.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:428)
init!!!!!!!!!!!!
at de.jreality.jogl3.Viewer.render(Viewer.java:167)
at de.jreality.ui.viewerapp.ViewerSwitch.render(ViewerSwitch.java:189)
at de.jreality.util.RenderTrigger$RenderTriggerSingleCaster.render(RenderTrigger.java:222)
at de.jreality.util.RenderTrigger.fireRender(RenderTrigger.java:138)
at de.jreality.util.RenderTrigger.finishCollect(RenderTrigger.java:260)
at de.jreality.toolsystem.ToolSystem.processToolEvent(ToolSystem.java:486)
at de.jreality.toolsystem.ToolEventQueue$1.run(ToolEventQueue.java:82)
at java.lang.Thread.run(Thread.java:680)
Caused by: javax.media.opengl.GLException: Not a GL3 implementation
at jogamp.opengl.gl4.GL4bcImpl.getGL3(GL4bcImpl.java:34588)
at de.jreality.jogl3.Viewer.init(Viewer.java:288)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:201)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:222)
at javax.media.opengl.awt.GLCanvas$6.run(GLCanvas.java:926)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:521)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:462)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:964)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: Not a GL3 implementation
at jogamp.opengl.gl4.GL4bcImpl.getGL3(GL4bcImpl.java:34588)
at de.jreality.jogl3.Viewer.display(Viewer.java:219)
at de.jreality.jogl3.Viewer.display(Viewer.java:210)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:243)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:230)
at javax.media.opengl.awt.GLCanvas$7.run(GLCanvas.java:943)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:523)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:462)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:964)
at javax.media.opengl.Threading.invoke(Threading.java:193)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:428)
at javax.media.opengl.awt.GLCanvas.paint(GLCanvas.java:480)
at sun.awt.RepaintArea.paintComponent(RepaintArea.java:276)
at sun.awt.RepaintArea.paint(RepaintArea.java:241)
at apple.awt.ComponentModel.handleEvent(ComponentModel.java:263)
at java.awt.Component.dispatchEventImpl(Component.java:4820)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:704)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:677)
at java.awt.EventQueue$3.run(EventQueue.java:675)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:674)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Mon 12. Nov 2012, 14:41
by gunn
Jogl3 backend also crashes on my new-ish MacBook Pro with graphics card NVIDIA GeForce GT 650M 512 MB.

Hardware Overview:

Model Name: MacBook Pro
Model Identifier: MacBookPro9,1
Processor Name: Intel Core i7
Processor Speed: 2.3 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 8 GB
Boot ROM Version: MBP91.00D3.B06
SMC Version (system): 2.1f170
Serial Number (system): C02HW1D0F1G3
Hardware UUID: A0884B77-AB88-5298-8C55-90DD8016EDA2
Sudden Motion Sensor:
State: Enabled

Error message as follows (First 6 lines to stdout, last 3 lines to stderr):

setSceneRoot
JOGLPointSetInstance.JOGLPointSetInstance()
JOGLPointSetInstance.JOGLPointSetInstance()
set Aux Root
renderAsync
init!!!!!!!!!!!!
Program link error:
Validation Failed: Link error:
Program is not successfully linked.

Re: jogl3-Backend crashes on iMac and MacBook Pro

Posted: Mon 12. Nov 2012, 15:07
by gunn
Previous two posts were carried out with slightly old jReality version. My apologies. After updating to latest jReality jni and libs, the failure on the MacBook Pro remains the same (see previous post), and on the iMac the exception is detected and the following is printed:

JOGL3Viewer constuctor called
test
Profile GL3 is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, NullToolkitLock[]], but: [GLProfile[GL2ES2/GL2.hw], GLProfile[GL2ES1/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2GL3/GL2.hw]]
Profile GL3bc is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, NullToolkitLock[]], but: [GLProfile[GL2ES2/GL2.hw], GLProfile[GL2ES1/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2GL3/GL2.hw]]
Profile GL4 is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, NullToolkitLock[]], but: [GLProfile[GL2ES2/GL2.hw], GLProfile[GL2ES1/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2GL3/GL2.hw]]
Profile GL4bc is not available on MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, NullToolkitLock[]], but: [GLProfile[GL2ES2/GL2.hw], GLProfile[GL2ES1/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2GL3/GL2.hw]]

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Wed 14. Nov 2012, 21:06
by steffen
Which versions of Mac OS are you using?

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Thu 15. Nov 2012, 08:17
by gunn
10.7.4 on the macbook pro, 10.6.x on the iMac.

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Fri 14. Dec 2012, 22:52
by benjamin.kutschan
If you run the newest version of jogl3 it should give you a line of output showing all the available openGL versions on your machine.
OpenGl 3.3 should definitely be available on both your recent macs though.

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Sat 15. Dec 2012, 13:18
by gunn
With the latest jogl3 source from jreality svn, I get following printout when I run jrviewer on my macbook pro:

Code: Select all

Native[GL4bc false, GL4 false, GL3bc false, GL3 true [3.2 (Core profile, arb, FBO, hardware)], GL2 true [2.1 (Compatibility profile, arb, FBO, hardware)], GL2ES1 true, GLES1 false, GL2ES2 true, GLES2 false], Profiles[GLProfile[GL2ES2/GL2.hw], GLProfile[GL2ES1/GL2.hw], GLProfile[GL2/GL2.hw], GLProfile[GL3/GL3.hw], GLProfile[GL2/GL2.hw], GLProfile[GL2GL3/GL2.hw], , default GLProfile[GL2/GL2.hw]]

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Sat 15. Dec 2012, 20:06
by benjamin.kutschan
On the following website someone has complained about Mountain Lion not supporting openGl 4, even though the underlying hardware surely does:
h++p://renderingpipeline.com/2012/06/mac-opengl-capabilities/

Let's hope that Apple releases openGL3.3 capable drivers soon.

Re: jogl3-Backend crashes on Mac Pros from 2008

Posted: Sun 3. Mar 2013, 23:13
by benjamin.kutschan
Ok, plan for a fix is simple: Change glsl shader versions all from 3.30 to 1.50 (which corresponds then to openGL 3.2).
However maybe glVertexAttribDivisor() is not available in openGL 3.2 on Macs, so we would have to avoid it if 3.2 but not 3.3 is detected.

FIXED: jogl3-Backend crashes on Mac Pros from 2008

Posted: Mon 4. Mar 2013, 12:37
by benjamin.kutschan
fixed :D
mac doesn't complain about GLSL 3.30, nor about glVertexAttribDivisor() (instancing).
However we shall not mix GL2 and GL3, as there is no GL3bc backwards compatibility profile.