Hi Morne, Can you get osgshadow to crash? If others can redproduce this problem there the chances of fixing it promptly go up.
Robert. On Fri, Jan 30, 2009 at 4:33 PM, Morné Pistorius <[email protected]> wrote: > Hi guys, > > I am testing the current trunk version of OSG in my application (was > previously using v2.6.1) and I get a crash on shutdown when trying to > destroy a osgShadow::ShadowedScene. This only occurs when I have a > shadowTechnique set and is caused by destroying the shader program. I > am using OSG in Qt derived from a QGLWidget (yes I know I should > rather use the QWidget implementation, I am busy porting to that, but > this used to work fine in 2.6.1 so I thought I would flag it :) > > I will see if this still happens when not using the GL Adapterwidget, > and report back. > > Below is a stack trace of the relevant bits: > >> osg54-osg.dll!osg::Referenced::~Referenced() Line 262 + 0x5 bytes >> C++ > osg54-osg.dll!osg::Program::PerContextProgram::~PerContextProgram() > Line 425 + 0x14b bytes C++ > osg54-osg.dll!osg::Program::PerContextProgram::`vector deleting > destructor'() + 0x3d bytes C++ > > osg54-osg.dll!std::_Destroy_range<osg::ref_ptr<osg::Program::PerContextProgram>,std::allocator<osg::ref_ptr<osg::Program::PerContextProgram> >> >(osg::ref_ptr<osg::Program::PerContextProgram> * _First=0x02eb7b48, > osg::ref_ptr<osg::Program::PerContextProgram> * _Last=0x02eb7b50, > std::allocator<osg::ref_ptr<osg::Program::PerContextProgram> > & > _Al={...}, std::_Nonscalar_ptr_iterator_tag __formal={...}) Line 235 > + 0x30 bytes C++ > osg54-osg.dll!osg::Program::~Program() Line 122 + 0xa8 bytes C++ > osg54-osgShadow.dll!osg::Program::`scalar deleting destructor'() + > 0x9 bytes C++ > osg54-osg.dll!std::_Tree<std::_Tmap_traits<std::pair<enum > osg::StateAttribute::Type,unsigned > int>,std::pair<osg::ref_ptr<osg::StateAttribute>,unsigned > int>,std::less<std::pair<enum osg::StateAttribute::Type,unsigned int> >>,std::allocator<std::pair<std::pair<enum > osg::StateAttribute::Type,unsigned int> const > ,std::pair<osg::ref_ptr<osg::StateAttribute>,unsigned int> > >,0> >>::_Erase(std::_Tree_nod<std::_Tmap_traits<std::pair<enum > osg::StateAttribute::Type,unsigned > int>,std::pair<osg::ref_ptr<osg::StateAttribute>,unsigned > int>,std::less<std::pair<enum osg::StateAttribute::Type,unsigned int> >>,std::allocator<std::pair<std::pair<enum > osg::StateAttribute::Type,unsigned int> const > ,std::pair<osg::ref_ptr<osg::StateAttribute>,unsigned int> > >,0> >>::_Node * _Rootnode=0x02eb7bf8) Line 1078 C++ > osg54-osg.dll!osg::StateSet::clear() Line 556 + 0x26 bytes C++ > osg54-osg.dll!osg::StateSet::~StateSet() Line 173 C++ > osg54-osgShadow.dll!osg::StateSet::`scalar deleting destructor'() + > 0x9 bytes C++ > osg54-osg.dll!osg::Referenced::unref() Line 176 + 0xf bytes C++ > osg54-osgShadow.dll!osgShadow::ShadowMap::~ShadowMap() Line 91 + > 0xfb bytes C++ > osg54-osgShadow.dll!osgShadow::SoftShadowMap::~SoftShadowMap() Line > 73 + 0x7e bytes C++ > RiverTestApp.exe!osgShadow::SoftShadowMap::`scalar deleting > destructor'() + 0x10 bytes C++ > osg54-osg.dll!osg::Referenced::unref() Line 176 + 0xf bytes C++ > > osg54-osgShadow.dll!osgShadow::ShadowedScene::setShadowTechnique(osgShadow::ShadowTechnique > * technique=0x00000000) Line 76 C++ > osg54-osgShadow.dll!osgShadow::ShadowedScene::~ShadowedScene() Line > 50 C++ > RiverTestApp.exe!VOSGShadowedScene::~VOSGShadowedScene() + 0x10 bytes > C++ > RiverTestApp.exe!VOSGShadowedScene::`scalar deleting destructor'() > + 0xf bytes C++ > > osg54-osg.dll!std::_Destroy_range<osg::ref_ptr<osg::Node>,std::allocator<osg::ref_ptr<osg::Node> >> >(osg::ref_ptr<osg::Node> * _First=0x02e74f50, > osg::ref_ptr<osg::Node> * _Last=0x02e74f5c, > std::allocator<osg::ref_ptr<osg::Node> > & _Al={...}, > std::_Nonscalar_ptr_iterator_tag __formal={...}) Line 235 + 0x30 > bytes C++ > osg54-osg.dll!osg::Group::~Group() Line 53 + 0x26 bytes C++ > RiverTestApp.exe!VOSGScene::~VOSGScene() Line 25 + 0x19 bytes C++ > RiverTestApp.exe!VRiver3DScene::~VRiver3DScene() Line 103 + 0x21 > bytes C++ > RiverTestApp.exe!VRiver3DScene::`scalar deleting destructor'() + > 0xf bytes C++ > osg54-osg.dll!osg::Referenced::unref() Line 176 + 0xf bytes C++ > RiverTestApp.exe!osg::ref_ptr<VOSGScene>::~ref_ptr<VOSGScene>() > Line 33 + 0x1a bytes C++ > > Cheers, > Morne > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

