Does the segfault go away if you stub out log_msg()?
   -Paul

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Steve Webb
> Sent: Wednesday, January 03, 2007 11:25 AM
> To: [email protected]
> Subject: [osg-users] Segfaulting somewhere in osgText
> 
> (gdb) bt
> #0  0x07b94280 in std::_Rb_tree_increment () from 
> /usr/lib/libstdc++.so.6
> #1  0x005c700f in osgText::Text::computePositions () from 
> /usr/lib/libosgText.so.1
> #2  0x005cd80b in osgText::Text::drawImplementation () from 
> /usr/lib/libosgText.so.1
> #3  0x03a2d42f in osgUtil::RenderLeaf::render () from 
> /usr/lib/libosgUtil.so.1
> #4  0x03a2554d in osgUtil::RenderBin::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #5  0x03a25200 in osgUtil::RenderBin::draw () from 
> /usr/lib/libosgUtil.so.1
> #6  0x03a255f0 in osgUtil::RenderBin::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #7  0x03a31453 in osgUtil::RenderStage::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #8  0x03a25200 in osgUtil::RenderBin::draw () from 
> /usr/lib/libosgUtil.so.1
> #9  0x03a30d8b in osgUtil::RenderStage::drawInner () from 
> /usr/lib/libosgUtil.so.1 #10 0x03a30c3c in 
> osgUtil::RenderStage::draw () from /usr/lib/libosgUtil.so.1
> #11 0x03a44112 in osgUtil::SceneView::draw () from 
> /usr/lib/libosgUtil.so.1
> #12 0x00579ad2 in 
> osgProducer::OsgSceneHandler::drawImplementation () from 
> /usr/lib/libosgProducer.so.1
> #13 0x0057b1ef in osgProducer::OsgSceneHandler::draw () from 
> /usr/lib/libosgProducer.so.1
> #14 0x006a5a0d in Producer::Camera::_frame () from 
> /usr/lib/libProducer.so.1
> #15 0x006a6390 in Producer::Camera::frame () from 
> /usr/lib/libProducer.so.1
> #16 0x006aa818 in Producer::CameraGroup::_singleThreadedFrame 
> () from /usr/lib/libProducer.so.1
> #17 0x006aa9d8 in Producer::CameraGroup::_frame () from 
> /usr/lib/libProducer.so.1
> #18 0x006aaa68 in Producer::CameraGroup::frame () from 
> /usr/lib/libProducer.so.1
> #19 0x0056fb71 in osgProducer::OsgCameraGroup::frame () from 
> /usr/lib/libosgProducer.so.1 #20 0x005915c2 in 
> osgProducer::Viewer::frame () from /usr/lib/libosgProducer.so.1
> #21 0x0804a12f in main (argc=0, argv=0x0) at pronto.cpp:165
> 
> Hello.
> 
> I've got an app that spins an object in one thread and spits 
> text to the screen in another thread.  Things work fine for 
> about 60 seconds until the app segfaults somewhere in osgText 
> (stacktrace above).
> 
> int log_msg (char *thestring) {
>          int a;
>          for (a=0;a<(NUMLINES-1);a++) {
>                  text[a]->setText(text[a+1]->getText());
>          }
>          text[NUMLINES-1]->setText(thestring);
> }
> 
> The above is called from the second thread to update the text 
> (scroll the
> text) in the scene.  If I comment-out the setText() calls, 
> everything is fine.
> 
> The segfault is not always in the same place, but always 
> somewhere inside of osgText.
> 
> Everything is running under linux with a very recent release 
> of OSG (got it from the tarball about 2 weeks ago).
> 
> Under cygwin, it Segfaults in osgText::Text::setText() 
> without even pulling up an initial window.
> 
> Different stacktraces with the same code:
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208239856 (LWP 24960)]
> 0x005c6ec3 in osgText::Text::computePositions () from 
> /usr/lib/libosgText.so.1
> (gdb) bt
> #0  0x005c6ec3 in osgText::Text::computePositions () from 
> /usr/lib/libosgText.so.1
> #1  0x005cd80b in osgText::Text::drawImplementation () from 
> /usr/lib/libosgText.so.1
> #2  0x03a2d42f in osgUtil::RenderLeaf::render () from 
> /usr/lib/libosgUtil.so.1
> #3  0x03a2554d in osgUtil::RenderBin::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #4  0x03a25200 in osgUtil::RenderBin::draw () from 
> /usr/lib/libosgUtil.so.1
> #5  0x03a255f0 in osgUtil::RenderBin::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #6  0x03a31453 in osgUtil::RenderStage::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #7  0x03a25200 in osgUtil::RenderBin::draw () from 
> /usr/lib/libosgUtil.so.1
> #8  0x03a30d8b in osgUtil::RenderStage::drawInner () from 
> /usr/lib/libosgUtil.so.1
> #9  0x03a30c3c in osgUtil::RenderStage::draw () from 
> /usr/lib/libosgUtil.so.1 #10 0x03a44112 in 
> osgUtil::SceneView::draw () from /usr/lib/libosgUtil.so.1
> #11 0x00579ad2 in 
> osgProducer::OsgSceneHandler::drawImplementation () from 
> /usr/lib/libosgProducer.so.1
> #12 0x0057b1ef in osgProducer::OsgSceneHandler::draw () from 
> /usr/lib/libosgProducer.so.1
> #13 0x006a5a0d in Producer::Camera::_frame () from 
> /usr/lib/libProducer.so.1
> #14 0x006a6390 in Producer::Camera::frame () from 
> /usr/lib/libProducer.so.1
> #15 0x006aa818 in Producer::CameraGroup::_singleThreadedFrame 
> () from /usr/lib/libProducer.so.1
> #16 0x006aa9d8 in Producer::CameraGroup::_frame () from 
> /usr/lib/libProducer.so.1
> #17 0x006aaa68 in Producer::CameraGroup::frame () from 
> /usr/lib/libProducer.so.1
> #18 0x0056fb71 in osgProducer::OsgCameraGroup::frame () from 
> /usr/lib/libosgProducer.so.1
> #19 0x005915c2 in osgProducer::Viewer::frame () from 
> /usr/lib/libosgProducer.so.1 #20 0x0804a1bb in main 
> (argc=Cannot access memory at address 0x0
> ) at pronto.cpp:165
> 
> (next one was quick, and during a resize of the window)
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208297200 (LWP 25068)] 0x005d242c in 
> std::__uninitialized_fill_n_aux<std::vector<osg::Vec3f, 
> std::allocator<osg::Vec3f> >*, unsigned int, 
> std::vector<osg::Vec3f, std::allocator<osg::Vec3f> > > ()
>     from /usr/lib/libosgText.so.1
> (gdb) bt
> #0  0x005d242c in 
> std::__uninitialized_fill_n_aux<std::vector<osg::Vec3f, 
> std::allocator<osg::Vec3f> >*, unsigned int, 
> std::vector<osg::Vec3f, std::allocator<osg::Vec3f> > > ()
>     from /usr/lib/libosgText.so.1
> #1  0x005d252f in 
> std::__uninitialized_fill_n_a<std::vector<osg::Vec3f, 
> std::allocator<osg::Vec3f> >*, unsigned int, 
> std::vector<osg::Vec3f, std::allocator<osg::Vec3f> >, 
> std::vector<osg::Vec3f, std::allocator<osg::Vec3f> > > () 
> from /usr/lib/libosgText.so.1
> #2  0x005d2a1e in std::vector<std::vector<osg::Vec3f, 
> std::allocator<osg::Vec3f> >, 
> std::allocator<std::vector<osg::Vec3f, 
> std::allocator<osg::Vec3f> > > >::_M_fill_insert ()
>     from /usr/lib/libosgText.so.1
> #3  0x005c60bc in osgText::Text::drawForegroundText () from 
> /usr/lib/libosgText.so.1
> #4  0x005cd163 in osgText::Text::renderOnlyForegroundText () 
> from /usr/lib/libosgText.so.1
> #5  0x005ce4e2 in osgText::Text::drawImplementation () from 
> /usr/lib/libosgText.so.1
> #6  0x03a2d42f in osgUtil::RenderLeaf::render () from 
> /usr/lib/libosgUtil.so.1
> #7  0x03a2554d in osgUtil::RenderBin::drawImplementation () 
> from /usr/lib/libosgUtil.so.1
> #8  0x03a25200 in osgUtil::RenderBin::draw () from 
> /usr/lib/libosgUtil.so.1
> #9  0x03a255f0 in osgUtil::RenderBin::drawImplementation () 
> from /usr/lib/libosgUtil.so.1 #10 0x03a31453 in 
> osgUtil::RenderStage::drawImplementation () from 
> /usr/lib/libosgUtil.so.1
> #11 0x03a25200 in osgUtil::RenderBin::draw () from 
> /usr/lib/libosgUtil.so.1
> #12 0x03a30d8b in osgUtil::RenderStage::drawInner () from 
> /usr/lib/libosgUtil.so.1
> #13 0x03a30c3c in osgUtil::RenderStage::draw () from 
> /usr/lib/libosgUtil.so.1
> #14 0x03a44112 in osgUtil::SceneView::draw () from 
> /usr/lib/libosgUtil.so.1
> #15 0x00579ad2 in 
> osgProducer::OsgSceneHandler::drawImplementation () from 
> /usr/lib/libosgProducer.so.1
> #16 0x0057b1ef in osgProducer::OsgSceneHandler::draw () from 
> /usr/lib/libosgProducer.so.1
> #17 0x006a5a0d in Producer::Camera::_frame () from 
> /usr/lib/libProducer.so.1
> #18 0x006a6390 in Producer::Camera::frame () from 
> /usr/lib/libProducer.so.1
> #19 0x006aa818 in Producer::CameraGroup::_singleThreadedFrame 
> () from /usr/lib/libProducer.so.1 #20 0x006aa9d8 in 
> Producer::CameraGroup::_frame () from /usr/lib/libProducer.so.1
> #21 0x006aaa68 in Producer::CameraGroup::frame () from 
> /usr/lib/libProducer.so.1
> #22 0x0056fb71 in osgProducer::OsgCameraGroup::frame () from 
> /usr/lib/libosgProducer.so.1
> #23 0x005915c2 in osgProducer::Viewer::frame () from 
> /usr/lib/libosgProducer.so.1
> #24 0x0804a1bb in main (argc=136754104, argv=0x826b3b8) at 
> pronto.cpp:165
> 
> 
> - Steve
> 
> --
> EMAIL: (h) [EMAIL PROTECTED]  WEB: http://badcheese.com/~steve
> 
> 
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to