Summary: | Some MacOS X Machines freeze at JOGL initialization, some even crash | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Sven Gothel <sgothel> |
Component: | macosx | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | oherrala, wwalker3 |
Priority: | P3 | ||
Version: | 2 | ||
Hardware: | pc_x86_64 | ||
OS: | macosx | ||
Type: | --- | SCM Refs: |
e702a9401d4564c970ddda71116d14d7661dd048
835b36d626f75f9e96001a41c2a6fe9f90466ae1
ffcf0cb5beaf3c7c363d45cef0b9d18dcf3f50c6
b05ccd62d28bcdc320fd35094f2d278b16743eab
|
Workaround: | --- | ||
Bug Depends on: | 533 | ||
Bug Blocks: |
Description
Sven Gothel
2012-01-04 08:12:20 CET
My working machine (it's also our Jenkins node): - Mac Mini - Mac OS X 10.7.2 - Intel Core 2 Duo - NV Geforce 320M 256MB - Vendor 0x10de (NV), Device 0x08a4, Revision 0x00a2 - Rom 3546 - Driver NVIDIA-7.12.9 Ok, looks like I found the commits responsible for the 'freeze': jogl-b543-2011-10-25_06-11-39 + gluegen-b429-2011-10-24_11-48-05 OK gluegen.build.number=429 gluegen.build.id=2011-10-24_11-48-05 gluegen.build.branch=origin/master gluegen.build.commit=a19f98767da194ba468f53f56c2dcdb9d1d34ac8 jogl.build.number=543 jogl.build.id=2011-10-25_06-11-39 jogl.build.branch=origin/master jogl.build.commit=4433f2a68fa3ca500e258a6862b0e95461fc5083 jogl-b544-2011-10-27_05-06-32 + gluegen-b431-2011-10-27_05-00-52 FREEZE gluegen.build.number=431 gluegen.build.id=2011-10-27_05-00-52 gluegen.build.branch=origin/master gluegen.build.commit=ef30b77fab27262f8b5ef3f98880c0caec30bab5 jogl.build.number=544 jogl.build.id=2011-10-27_05-06-32 jogl.build.branch=origin/master jogl.build.commit=bc826eb2e216ce82a5e6bc61403e4eff2f338380 ChangeSet for jogl build 544: https://jogamp.org/chuck/job/jogl/544/ Looks like it's commit f326119fd60eb3a851317bbed5bd57a535816014 http://jogamp.org/git/?p=jogl.git;&a=commit&h=f326119fd60eb3a851317bbed5bd57a535816014 Digging in to it now .. The new code of commit f326119fd60eb3a851317bbed5bd57a535816014, MacOSXCGLDrawableFactory.isOSXContextAvailable() triggered an NVidia driver bug. The new functions leads to available GL profile probing, ie a very fast context creation, makeCurrent(), release(), destroy() sequence w/o swapBuffers() or glFinish() - hence no explicit sync of the GL pipeline. Adding a glFinish() before actually releasing the GL context solves this problem of the NV bug. http://jogamp.org/git/?p=jogl.git;a=blob;f=src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java;h=5c726bc54fe3f39d4d8d09d6fa5fda85b11bc90e;hb=5c726bc54fe3f39d4d8d09d6fa5fda85b11bc90e#l138 reopened: still regressions on 10.6 - 10.6.2 (<10.6.8?) at initialization, culprit is the pixelformat. OSX Fixes: bug 548 (another regression: pixelfmt), ctx creation failure -> no exception, - bug 548: Another regression: pixelfmt failed for 10.6.7 and/or software OpenGL - enforcing accelerated leads to no pixelformat, - using the NSOpenGLView defaultPixelFormat causes to SIGSEGV - ctx creation failure shall just lead to return null, no immediate exception http://jogamp.org/git/?p=jogl.git;a=commit;h=ffcf0cb5beaf3c7c363d45cef0b9d18dcf3f50c6 Added GLRendererQuirk for this OSX < 10.7.3 NVIDIA glFLush case GLRendererQuirks.GLFlushBeforeRelease is needed on OSX < 10.7.3 w/ NV GPU Was comparing against 1.7.3 instead 10.7.3 ! .. where are the reviews .. |