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

Robert Osfield robert.osfield at gmail.com
Sun Mar 25 03:29:42 PDT 2018


Hi Hartwig,

> Is it possible to recreate the 2*N threads being created with a
> standard OSG example like osgviewer?

I have added some debug output to DatabasePager and OpenThreads and
confirmed that some DatabaseThread are run twice.

I think there are two bugs here - first of DatabasePager.cpp is
calling startThead twice, secondly OpenThreads itself isn't catching
this.

OpenThreads::Thread::startThread() needs to be modified so that it
doesn't start a thread that has already been started.  And
DatabasePager needs to fixed so it doesn't start a thread twice.  Both
fixes are needed.  I will now have a think about what is the cleanest
way to implement these fixes.

Cheers,
Robert.


More information about the osg-users mailing list