[osg-users] crash in osg::FrameBufferObject::apply

Thilo Weigel thilo.weigel at web.de
Thu Nov 5 10:02:51 PST 2009


Hi -

My  application uses QOSGWidget to link QT and OSG. On a single screen everything works fine, however, if I run the app on more screens and switch back and forth betwenn full screen mode the application crashes in osg::FrameBufferObject::apply (see the core dump below). Maybe its not the most appropriate way to do it, but I'm using a CompositeViewer with one view for each screen. Each view inherits from QOSGWidget and osgViewer::View . I set the threading model to ThreadPerContext. The crash happens at least with kde4 and icewm. When the application crashes it first "freezes" for a couple of seconds and then dies. According to 'top' there is no memory leak, but one thread suddenly  uses 100% while others are at 0% (previously all threads around 40%)

If I change the threading model to SingleThreaded the application does not crash when toggleing fullscreen mode.

Is this somehow related to a known problem? Is the best way to get around it to switch the threading model to SingleThreaded each time before changing graphics window related attributes?

Thank you very much for any hints,

Cheers,

Thilo


the crashing thread:
Program terminated with signal 11, Segmentation fault.
#0  0x00007f3f506c31d9 in ?? () from /usr/lib64/libGLcore.so.1
(gdb) bt
#0  0x00007f3f506c31d9 in ?? () from /usr/lib64/libGLcore.so.1
#1  0x00007f3f503bdd0a in ?? () from /usr/lib64/libGLcore.so.1
#2  0x00007f3f50063fd9 in ?? () from /usr/lib64/libGLcore.so.1
#3  0x00007f3f500c6f65 in ?? () from /usr/lib64/libGLcore.so.1
#4  0x00007f3f504d4ec6 in ?? () from /usr/lib64/libGLcore.so.1
#5  0x00007f3f5005e032 in ?? () from /usr/lib64/libGLcore.so.1
#6  0x00007f3f5005e0ee in ?? () from /usr/lib64/libGLcore.so.1
#7  0x00007f3f55978079 in osg::FrameBufferObject::apply(osg::State&, osg::FrameBufferObject::BindTarget) const () from /usr/lib64/libosg.so.55
#8  0x00007f3f52395d5e in osgUtil::RenderStage::drawInner(osg::RenderInfo&, osgUtil::RenderLeaf*&, bool&) () from /usr/lib64/libosgUtil.so.55
#9  0x00007f3f52398861 in osgUtil::RenderStage::draw(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib64/libosgUtil.so.55
#10 0x00007f3f5239292b in osgUtil::RenderStage::drawPreRenderStages(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib64/libosgUtil.so.55
#11 0x00007f3f5239fff3 in osgUtil::SceneView::draw() () from /usr/lib64/libosgUtil.so.55
#12 0x00007f3f54e133e7 in osgViewer::Renderer::cull_draw() () from /usr/lib64/libosgViewer.so.55
#13 0x00007f3f559ae400 in osg::GraphicsContext::runOperations() () from /usr/lib64/libosg.so.55
#14 0x00007f3f55a035a5 in osg::OperationThread::run() () from /usr/lib64/libosg.so.55
#15 0x00007f3f559b3aa0 in osg::GraphicsThread::run() () from /usr/lib64/libosg.so.55
#16 0x00007f3f52623040 in OpenThreads::ThreadPrivateActions::StartThread(void*) () from /usr/lib64/libOpenThreads.so.11
#17 0x00007f3f53301070 in start_thread () from /lib64/libpthread.so.0
#18 0x00007f3f528fa10d in clone () from /lib64/libc.so.6
#19 0x0000000000000000 in ?? ()


another thread:

#0  0x00007f3f53304d59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000000000bfbd59 in ?? ()
#2  0x0000000000bc85d4 in ?? ()
#3  0x0000000000bfac62 in ?? ()
#4  0x00007f3f53301070 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3f528fa10d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()


_____________________________________________________________
DSL-Preisknaller: DSL-Komplettpakete von WEB.DE schon für 
16,99 Euro/mtl.!* Hier klicken: http://produkte.web.de/go/02/



More information about the osg-users mailing list