[osg-users] Moving from 3.4.1 to 3.5.7 breaks my "hardware instancing"

Andrew Cunningham andrewC at mac.com
Wed Oct 3 08:34:57 PDT 2018


Hi Robert,

Updating to 3.6.3 fixed the problem! 

I did find a possible subtle issue with 3.6.3 when OSG_NOTIFY_LEVEL=DEBUG.
No issues at other OSG_NOTIFY_LEVELs.

I am getting a crash at program exit at this line, called from GraphicsObjectManager::~GraphicsObjectManager


std::ostream& osg::notify(const osg::NotifySeverity severity)
{
    if (osg::isNotifyEnabled(severity))
    {
        getNotifySingleton()._notifyStream.setCurrentSeverity(severity);
        return getNotifySingleton()._notifyStream; <---crash here
    }
    return getNotifySingleton()._nullStream;
}

GraphicsObjectManager::~GraphicsObjectManager()
{
    OSG_INFO<<_name<<"::~"<<_name<<"()"<<this<<std::endl;
}


My suspicion is that some "singletons" are getting destroyed in such an order that the "NotifySingleton" is destroyed before , say, the osg::ContextData is destroyed. 


	osg158-osgd.dll!osg::notify(const osg::NotifySeverity severity) Line 231	C++
 	osg158-osgd.dll!osg::GraphicsObjectManager::~GraphicsObjectManager() Line 70	C++
 	osg158-osgd.dll!osg::GLObjectManager::~GLObjectManager() Line 85	C++
 	[External Code]	
 	osg158-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalDelete, bool doDelete) Line 292	C++
 	osg158-osgd.dll!osg::Referenced::unref() Line 194	C++
 	osg158-osgd.dll!osg::ref_ptr<osg::Referenced>::~ref_ptr<osg::Referenced>() Line 41	C++
 	[External Code]	
 	osg158-osgd.dll!osg::ContextData::~ContextData() Line 35	C++
 	[External Code]	
 	osg158-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalDelete, bool doDelete) Line 292	C++
 	osg158-osgd.dll!osg::Referenced::unref() Line 194	C++
>	osg158-osgd.dll!osg::ref_ptr<osg::ContextData>::~ref_ptr<osg::ContextData>() Line 41	C++



Anyway, it's a minor issue and does not affect release code.

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=75029#75029







More information about the osg-users mailing list