Summary: | NullPointerException in some Mac OS X computers | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | president |
Component: | opengl | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | andres.colubri, gouessej |
Priority: | --- | ||
Version: | 2 | ||
Hardware: | All | ||
OS: | macosx | ||
Type: | --- | SCM Refs: |
jogl 10b4957dc36005453d2a4e7a3b4de4df20d0c901
jogl 24fe89e6d7cc551aaffb6c95624271eef027b275
jogl 97401c4b832aa6f65bfbad47c54d18e4b720dbce
|
Workaround: | --- | ||
Attachments: | Complete Jogl log |
Hi I will try to reproduce this bug on a Mac Book Pro tonight. If I fail, I will need your help. (In reply to comment #1) > Hi > > I will try to reproduce this bug on a Mac Book Pro tonight. If I fail, I > will need your help. I'll be happy to help if there is anything you want me to do. (In reply to comment #2) > (In reply to comment #1) > > Hi > > > > I will try to reproduce this bug on a Mac Book Pro tonight. If I fail, I > > will need your help. > > I'll be happy to help if there is anything you want me to do. Sven, if you could fix this thing, it will probably fix this bug too: http://forum.jogamp.org/JME3-Unified-Renderer-Canvas-Use-Issue-tp4028152p4028164.html Renanse broke something, I can only get ardor3d-performance under Eclipse 4.2.1. My environment is almost ready under Mac OS X 10.6.8. I just get this: 2013-02-13 00:34:16.100 java[484:903] [Java CocoaComponent compatibility mode]: Enabled 2013-02-13 00:34:16.102 java[484:903] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000 2013-02-13 00:34:17.767 java[484:e003] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x100190030> '(null)') unlocked when not locked 2013-02-13 00:34:17.767 java[484:e003] *** Break on _NSLockError() to debug. 2013-02-13 00:34:17.868 java[484:e003] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x102069410> '(null)') unlocked when not locked 2013-02-13 00:34:17.868 java[484:e003] *** Break on _NSLockError() to debug. 2013-02-13 00:34:18.010 java[484:e003] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001ab560> '(null)') unlocked when not locked 2013-02-13 00:34:18.011 java[484:e003] *** Break on _NSLockError() to debug. No AWT example can be started. Ok there is no problem, the window just always appears behind all others. I don't reproduce Runiter's bug. Can someone test with exactly the same hardware? In my humble opinion, it might come from the driver. I use the same OS, the same version. I can confirm this same NPE error on a 2007 Mac mini with GMA 950: Model Name: Mac mini Model Identifier: Macmini2,1 Processor Name: Intel Core 2 Duo Processor Speed: 2 GHz Number Of Processors: 1 Total Number Of Cores: 2 L2 Cache: 4 MB Memory: 2 GB Bus Speed: 667 MHz Boot ROM Version: MM21.009A.B00 SMC Version (system): 1.19f2 Serial Number (system): YM746077YL2 Hardware UUID: 00000000-0000-1000-8000-0016CBAD0AC9 Chipset Model: GMA 950 Type: GPU Bus: Built-In VRAM (Total): 64 MB of Shared System Memory Vendor: Intel (0x8086) Device ID: 0x27a2 Revision ID: 0x0003 java version "1.6.0_41" Java(TM) SE Runtime Environment (build 1.6.0_41-b02-445-10M4107) Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-445, mixed mode) This happens using a recent autobuild (less than a week old at the time of this writing). Switching to RC11 makes the error disappear. Thank you for pointing that. Please can you test some other auto builds generated after the RC11 in order to help us to find which change(s) broke that under Mac? Fix NPE of Bug 679: The ctx was released w/o fully initialized (no proper ARB ctx of expected version ?) Closing now - Please reopen if not fixed. If so - please provide a new full stack trace and DEBUG log file - thank you. Now I get the following error, using the changes from commit 10b4957dc36005453d2a4e7a3b4de4df20d0c901: javax.media.opengl.GLException: Profile GL_DEFAULT is not available on null, but: [] at javax.media.opengl.GLProfile.get(GLProfile.java:771) at javax.media.opengl.GLProfile.getDefault(GLProfile.java:555) at javax.media.opengl.GLProfile.getDefault(GLProfile.java:566) ... on the Mac mini GMA950. The last jogl autobuild that used to work with that hardware was b881 (20121230). (In reply to comment #10) > Now I get the following error, using the changes from commit > 10b4957dc36005453d2a4e7a3b4de4df20d0c901: > > javax.media.opengl.GLException: Profile GL_DEFAULT is not available on null, > but: [] > at javax.media.opengl.GLProfile.get(GLProfile.java:771) > at javax.media.opengl.GLProfile.getDefault(GLProfile.java:555) > at javax.media.opengl.GLProfile.getDefault(GLProfile.java:566) > ... > > on the Mac mini GMA950. The last jogl autobuild that used to work with that > hardware was b881 (20121230). If you could send me the debug log file of etc/tests.sh (wiki FAQ/Bugreport) I could have an idea why it fails. Pls attach them. Any test w/ all debug properties enabled would do it .. Probably some strict GL version checking fails here .. and I like to know the details to be able to fix it. We had to add this checks to fix Mesa/Intel driver .. the irony .. :) It is probably commit http://jogamp.org/git/?p=jogl.git;&a=commit&h=ece5acb85b3dac22352aca75dd09aadcb96b43f3 Thanks to your regression check! If I would have the log files - I can fix it. Ok - Read the attached log file, problem understood. The GMA driver provides GL 1.4, but on OSX we only tend to allow >= 2.0 to pass, will fix this. Fixed .. simulated locally here hacking the code. if bug still persists .. please reopen .. you know the drill. See Bug 548 comment 6: http://jogamp.org/git/?p=jogl.git;a=commit;h=ffcf0cb5beaf3c7c363d45cef0b9d18dcf3f50c6 Added GLRendererQuirk for this OSX < 10.7.3 NVIDIA glFLush case (In reply to comment #14) > Fixed .. simulated locally here hacking the code. > > if bug still persists .. please reopen .. you know the drill. Just confirming that it now works again, thank you. I can also confirm that it is fixed in my test computer. |
Created attachment 408 [details] Complete Jogl log Test case: com.ardor3d.example.canvas.JoglAwtExample OS: Mac OS X version is 10.6.8 Java: Java Web Start 1.6.0_37 Computer: MacBook1,1 Graphics Card: Intel GMA 950: Chipset Model: GMA 950 Type: GPU Bus: Built-In VRAM (Total): 64 MB of Shared System Memory Vendor: Intel (0x8086) Device ID: 0x27a2 Revision ID: 0x0003 Here is the exception of that JoglAwtExample generates: java.lang.NullPointerException at jogamp.opengl.gl4.GL4bcImpl.glFlush(GL4bcImpl.java:5334) at jogamp.opengl.macosx.cgl.MacOSXCGLContext$NSOpenGLImpl.release(MacOSXCGLContext.java:776) at jogamp.opengl.macosx.cgl.MacOSXCGLContext.destroyContextARBImpl(MacOSXCGLContext.java:260) at jogamp.opengl.GLContextImpl.createContextARBVersions(GLContextImpl.java:974) at jogamp.opengl.GLContextImpl.createContextARBMapVersionsAvailable(GLContextImpl.java:911) at jogamp.opengl.GLContextImpl.mapGLVersions(GLContextImpl.java:858) at jogamp.opengl.GLContextImpl.createContextARB(GLContextImpl.java:761) at jogamp.opengl.macosx.cgl.MacOSXCGLContext.createImpl(MacOSXCGLContext.java:299) at jogamp.opengl.macosx.cgl.MacOSXOnscreenCGLContext.createImpl(MacOSXOnscreenCGLContext.java:80) at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:592) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:509) at jogamp.opengl.macosx.cgl.MacOSXCGLDrawableFactory.getOrCreateOSXSharedResource(MacOSXCGLDrawableFactory.java:241) at jogamp.opengl.macosx.cgl.MacOSXCGLDrawableFactory.createSharedResource(MacOSXCGLDrawableFactory.java:289) at javax.media.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1560) at javax.media.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1521) at javax.media.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1490) at javax.media.opengl.GLProfile.access$100(GLProfile.java:76) at javax.media.opengl.GLProfile$1.run(GLProfile.java:157) at java.security.AccessController.doPrivileged(Native Method) at javax.media.opengl.GLProfile.initSingleton(GLProfile.java:123) at javax.media.opengl.GLProfile.getProfileMap(GLProfile.java:1857) at javax.media.opengl.GLProfile.get(GLProfile.java:801) at javax.media.opengl.GLProfile.get(GLProfile.java:830) at javax.media.opengl.GLProfile.getMaxFixedFunc(GLProfile.java:636) at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(CapsUtil.java:34) at com.ardor3d.framework.jogl.JoglAwtCanvas.<init>(JoglAwtCanvas.java:42) at com.ardor3d.example.canvas.JoglAwtExample.addCanvas(JoglAwtExample.java:153) at com.ardor3d.example.canvas.JoglAwtExample.main(JoglAwtExample.java:105) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.javaws.Launcher.executeApplication(Launcher.java:1919) at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1852) at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1614) at com.sun.javaws.Launcher.run(Launcher.java:139) at java.lang.Thread.run(Thread.java:680)