Hi Robert,

I tried but failed to reproduce the problem in the osg examples.  It
must be some subtle difference in the way I set up my scene in my app.
 I changed my viewer to the QOSGWidget implementation instead of using
the GraphicsWindowEmbedded in a QGLWidget and that fixed the crash.
Sorry I couldn't reproduce it, but at least there is a work around if
others run into this issue.

Cheers,
Morne

On Fri, Jan 30, 2009 at 4:59 PM, Robert Osfield
<robert.osfi...@gmail.com> wrote:
> 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
> <mpistorius....@googlemail.com> 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
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to