[Qt-interest] SIGSEGV at QGLShaderProgram::addShaderFromSourceCode

Josiah Bryan jbryan at productiveconcepts.com
Mon Oct 18 22:28:03 CEST 2010


I've got an odd case where my program SIGSEGVs at 
QGLShaderProgram::addShaderFromSourceCode(), even though 
QGLShaderProgram::haspenGLShaderPrograms() returns true.

The addShader... call is the line my code calls, but the SIGSEGV hits 
deeper in Qt. Stack trace in gdb points to qglsahderprogram.cpp:610 at 
the top of the stack when SIGSEGV hits, and that line is just a 
Q_D(QGLShaderProgram) statement...so I'm stuck as to why I'm getting the 
SIGSEGV.

I've tried everything I can think of - even so far as forcing indirect 
rendering with LIBGL_ALWAYS_INDIRECT=true before running the binary, but 
no love.

Now, don't laugh - but I'm using the i810 driver in xorg.conf (onboard 
intel video) - OS is CentOS 5.5. Qt is 4.6.2 (I can't get Qt 4.7 to 
install on CentOS due to a problem with qpatch depending on 
GLIBCXX_3.4.9 or something like that.)

Any ideas on how to fix this crash and use GLSL given the current setup, 
or is that just impossible - even though QGLShaderProgram thinks it 
should be?

Thanks for your help!
-Josiah

-- 
Josiah Bryan
Productive Concepts, Inc.
jbryan at pciint.com
(765) 964-6009, ext. 224




More information about the Qt-interest-old mailing list