here is a crash after release of everything (viewer = 0; viewer is
osg::ref_ptr<osgViewer> ...)

if (needDelete)
    {
        if (getDeleteHandler()) deleteUsingDeleteHandler();
        else delete this;
    }
in referenced

> osg62-osgd.dll!osg::Referenced::unref()  Line 183 + 0x1e bytes C++
  osg62-osgd.dll!osg::ref_ptr<osg::StateAttribute const
>::~ref_ptr<osg::StateAttribute const >()  Line 33 + 0x20 bytes C++
  osg62-osgd.dll!osg::State::AttributeStack::~AttributeStack()  + 0x51 bytes
C++
  osg62-osgd.dll!std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack>::~pair<std::pair<enum
osg::StateAttribute::Type,unsigned int> const ,osg::State::AttributeStack>()
 + 0x19 bytes C++
  osg62-osgd.dll!std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node::~_Node()  + 0x19
bytes C++
  osg62-osgd.dll!std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node::`scalar deleting
destructor'()  + 0x16 bytes C++
  osg62-osgd.dll!std::_Destroy<std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::_Node>(std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node * _Ptr=0x0c153ed0)
 Line 61 C++
  osg62-osgd.dll!std::allocator<std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::_Node>::destroy(std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node * _Ptr=0x0c153ed0)
 Line 161 + 0x9 bytes C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::_Erase(std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node *
_Rootnode=0x0c153ed0)  Line 1078 C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::_Erase(std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node *
_Rootnode=0x0bb24758)  Line 1076 C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::_Erase(std::_Tree_nod<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Node *
_Rootnode=0x0bd87468)  Line 1076 C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::clear()  Line 955 C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::erase(std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::iterator
_First=((POLYGONOFFSET,0),{changed=true last_applied_attribute=0x00000000
global_default_attribute={...} ...}),
std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::iterator
_Last=((-842150451,3452816845),{changed=true
last_applied_attribute=0xcdcdcdcd global_default_attribute={...} ...}))
 Line 921 C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >::_Tidy()  Line 1327 + 0x48
bytes C++
  osg62-osgd.dll!std::_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0>
>::~_Tree<std::_Tmap_traits<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> >,0> >()  Line 527 C++
  osg62-osgd.dll!std::map<std::pair<enum osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> > >::~map<std::pair<enum
osg::StateAttribute::Type,unsigned
int>,osg::State::AttributeStack,std::less<std::pair<enum
osg::StateAttribute::Type,unsigned int>
>,std::allocator<std::pair<std::pair<enum osg::StateAttribute::Type,unsigned
int> const ,osg::State::AttributeStack> > >()  + 0x16 bytes C++
  osg62-osgd.dll!osg::State::~State()  Line 168 + 0xc6 bytes C++
  osg62-osgViewerd.dll!osg::State::`scalar deleting destructor'()  + 0x1a
bytes C++
  osg62-osgd.dll!osg::Referenced::unref()  Line 183 + 0x23 bytes C++
  osg62-osgd.dll!osg::ref_ptr<osg::State>::operator=(osg::State *
ptr=0x00000000)  Line 57 C++
  osg62-osgd.dll!osg::GraphicsContext::close(bool
callCloseImplementation=true)  Line 569 C++
  osg62-osgViewerd.dll!osgViewer::GraphicsWindowWin32::~GraphicsWindowWin32()
 Line 1078 + 0xd bytes C++
  osg62-osgViewerd.dll!osgViewer::GraphicsWindowWin32::`vector deleting
destructor'()  + 0x57 bytes C++
  osg62-osgd.dll!osg::Referenced::unref()  Line 183 + 0x23 bytes C++
  
KtOSGIGD.exe!osg::ref_ptr<osg::GraphicsContext>::~ref_ptr<osg::GraphicsContext>()
 Line 33 + 0x38 bytes C++
  KtOSGIGD.exe!main(int argc=1, char * * argv=0x0221e3b0)  Line 1095 + 0x28
bytes C++
  KtOSGIGD.exe!__tmainCRTStartup()  Line 597 + 0x19 bytes C
  KtOSGIGD.exe!mainCRTStartup()  Line 414 C
  kernel32.dll!771c1174()
  [Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]
  ntdll.dll!778fb3f5()
  ntdll.dll!778fb3c8()

Nick

http://www.linkedin.com/in/tnick
Sent from Istanbul, 34, Turkey

On Fri, Dec 18, 2009 at 6:28 PM, Trajce Nikolov <[email protected]>wrote:

> huh... I would love to. It works now. :-) .... Did not changes anything.
> MIght be a sporadic crash ....
>
> But thanks anyway Robert!
>
> Nick
>
> http://www.linkedin.com/in/tnick
>  Sent from Istanbul, 34, Turkey
>
> On Fri, Dec 18, 2009 at 5:57 PM, Robert Osfield 
> <[email protected]>wrote:
>
>> Hi Nick,
>>
>> On Fri, Dec 18, 2009 at 3:55 PM, Trajce Nikolov
>> <[email protected]> wrote:
>> > I made it work somewhat in release mode. Debug still crashes osg ... Any
>> > ideas?
>>
>> Hows about posting your stack trace.
>>
>> Robert.
>> _______________________________________________
>> 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

Reply via email to