[Xquartz-dev] FBConfig woes
Stefan Eilemann
eilemann at gmail.com
Mon Feb 14 01:38:59 PST 2011
On 11. Feb 2011, at 21:20, Jeremy Huddleston wrote:
> 1) Can you try using 2.6.0's libraries instead of 2.3.6's libraries (use /opt/X11 rather than /usr/X11)
I wish:
eile% ./debug_glx/bin/eqPly.app/Contents/MacOS/eqPly --eq-config examples/configs/config.eqc
dyld: Symbol not found: _gll_noop
Referenced from: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
Expected in: /opt/X11/lib//libGL.1.dylib
in /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
> 2) Can you provide the crash report (likely saved in ~/Library/Logs/DiagnosticReports)?
See attached file. IN the crash report the stack trace is truncated/corrupted by one frame. In the debugger I reach the glXCreateNewContext call as shown below.
> My guess is that a bad config is being requested, but we certainly shouldn't crash inside glXCreateNewContext.
Neither should GLX 1.2 gets reported nor glXCreateContextWithConfigSGIX return 0 without any error. Any chance of these getting fixed? It's already difficult enough to code for GLX with extensions, and having to care about non-standard implementation behavior makes this even worse. FYI we are using GLEW/GLXEW for this.
As a workaround we fall back to glXGetVisualFromFBConfigSGIX + glXCreateContext which seems to work. See <http://www.equalizergraphics.com/cgi-bin/viewvc.cgi/trunk/src/libs/client/glXWindow.cpp?view=markup&pathrev=5582>
Cheers,
Stefan.
>
>
> On Feb 11, 2011, at 05:03, Stefan Eilemann wrote:
>
>> Jeremy, all,
>>
>> this is a followup to bug 466: http://xquartz.macosforge.org/trac/ticket/466
>>
>> I tried the following to get my implementation working, details below:
>>
>> 1) Use glXCreateNewContext: crash
>> 2) Use glXCreateContextWithConfigSGIX: return 0
>>
>> I'm running 2.6.0 with the following libraries:
>>
>> dyld: loaded: /Users/eile/Software/eq-git/src/./debug_glx/bin/eqPly.app/Contents/MacOS/eqPly
>> dyld: loaded: /Users/eile/Software/eq-git/src/debug_glx/libs/client/libEqualizer.1.0.0.dylib
>> dyld: loaded: /Users/eile/Software/eq-git/src/debug_glx/libs/admin/libEqualizerAdmin.1.0.0.dylib
>> dyld: loaded: /Users/eile/Software/eq-git/src/debug_glx/libs/collage/libCollage.0.2.0.dylib
>> dyld: loaded: /usr/lib/libSystem.B.dylib
>> dyld: loaded: /opt/local/lib/libboost_system-mt.dylib
>> dyld: loaded: /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
>> dyld: loaded: /usr/X11/lib/libSM.6.dylib
>> dyld: loaded: /usr/X11/lib/libICE.6.dylib
>> dyld: loaded: /usr/X11/lib/libX11.6.dylib
>> dyld: loaded: /usr/X11/lib/libXext.6.dylib
>> dyld: loaded: /usr/X11/lib/libGL.1.dylib
>> ...
>> What's the proper way to get this working?
>
>
>>
>>
>> Cheers,
>>
>> Stefan.
>>
>>
>> 1)
>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
>> [Switching to process 2161]
>> 0x0000000000000000 in ?? ()
>> (gdb) bt
>> #0 0x0000000000000000 in ?? ()
>> #1 0x00000001002501eb in eq::GLXWindow::createGLXContext
>> (this=0x10305e4b0, fbConfig=0x10283a200) at
>> /Users/eile/Software/eq-git/src/libs/client/glXWindow.cpp:328
>> ...
>> (gdb) up
>> #1 0x00000001002501eb in eq::GLXWindow::createGLXContext
>> (this=0x10305e4b0, fbConfig=0x10283a200) at
>> /Users/eile/Software/eq-git/src/libs/client/glXWindow.cpp:328
>> 328 GLXContext context = glXCreateNewContext( _xDisplay,
>> fbConfig[ 0 ], type, shCtx, True );
>> (gdb) p glXCreateNewContext
>> $1 = {<text variable, no debug info>} 0x100d70426 <glXCreateNewContext>
>> (gdb) p _xDisplay
>> $3 = (Display *) 0x103805800
>> (gdb) p fbConfig[ 0 ]
>> $4 = (struct __GLXFBConfigRec *) 0x10303a070
>> (gdb) p type
>> $5 = 32788
>> (gdb) p shCtx
>> $6 = (struct __GLXcontextRec *) 0x0
>>
>>
>> 2)
>> Breakpoint 2, eq::GLXWindow::createGLXContext (this=0x101a1afc0,
>> fbConfig=0x102060200) at
>> /Users/eile/Software/eq-git/src/libs/client/glXWindow.cpp:328
>> 328 GLXContext context = glXCreateContextWithConfigSGIX(
>> _xDisplay, fbConfig[0], type, shCtx, True );
>> (gdb) n
>> 364 if( !context )
>> (gdb) p context
>> $1 = (struct __GLXcontextRec *) 0x0
>>
>> --
>> http://www.eyescale.ch
>> http://www.equalizergraphics.com
>> http://www.linkedin.com/in/eilemann
>>
>> _______________________________________________
>> Xquartz-dev mailing list
>> Xquartz-dev at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
>>
>
>
> _______________________________________________
> Xquartz-dev mailing list
> Xquartz-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
--
http://www.eyescale.ch
http://www.equalizergraphics.com
http://www.linkedin.com/in/eilemann
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eqPly_2011-02-14-103622_roku.crash
Type: application/octet-stream
Size: 38390 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/xquartz-dev/attachments/20110214/3edf5b95/attachment-0001.obj>
More information about the Xquartz-dev
mailing list