[osg-users] DatabasePager::DatabaseThread is crashing when DatabasePager has been deleted

Robert Osfield robert.osfield at gmail.com
Sun Mar 25 01:06:20 PDT 2018


HI Hartwig,

Could you explain what you think the bug is as copying pasting some
bit of code without any explanation is a bit too obscure to divine
what you mean.  I presume it's you who's added the #if 0 #endif around
the startThread() calls as this code is not the same as master/OSG-3.6

Robert.

On 24 March 2018 at 21:31, Hartwig Wiesmann <hartwig.wiesmann at skywind.eu> wrote:
> Hi Robert,
>
> I think that it has nothing to do with Clang or GCC. I did some further investigations and probably found the bug. In DatabasePager::requestNodeFile you find the following code:
>
> Code:
>     if (!_startThreadCalled)
>     {
>         OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_run_mutex);
>
>         if (!_startThreadCalled)
>         {
>             _startThreadCalled = true;
>             _done = false;
>             OSG_INFO<<"DatabasePager::startThread()"<<std::endl;
>
>             if (_databaseThreads.empty())
>             {
>                 setUpThreads(
>                     osg::DisplaySettings::instance()->getNumOfDatabaseThreadsHint(),
>                     osg::DisplaySettings::instance()->getNumOfHttpDatabaseThreadsHint());
>             }
>
> #if 0
>                                         for(DatabaseThreadList::const_iterator dt_itr = _databaseThreads.begin();
>                 dt_itr != _databaseThreads.end();
>                 ++dt_itr)
>             {
>                 (*dt_itr)->startThread();
>             }
> #endif
>
>
>
>
> Thank you!
>
> Cheers,
> Hartwig
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=73162#73162
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


More information about the osg-users mailing list