[osg-users] Is text thread safe in 2.0.0?

Robert Osfield robert.osfield at gmail.com
Sun Sep 2 02:26:11 PDT 2007


Hi Sherman,

On 9/1/07, sherman wilcox <wilcox.sherman at gmail.com> wrote:
> If I run with --mt 1 it runs for a bit....however if I change that to --mt
> 10 it crashes immediately. Tried this on an old dual-proc and a new
> quad-core system. Here's the stack from the quad-core:
>
> > osgText.dll!osgText::Text::Text()  Line 61 + 0x5 bytes C++
>   osgtest.exe!UpdateTextOperation::load()  Line 556 + 0x24
> bytes C++
>   osgtest.exe!UpdateTextOperation::operator()(osg::Object *
> callingObject=0x00000000)  Line 498 + 0x5 bytes C++
>   osg.dll!osg::OperationThread::run()  Line 416 C++
>
> OpenThreads.dll!OpenThreads::ThreadPrivateActions::StartThread(void
> * data=0x00f7cda8)  Line 120 C++
>   msvcr80.dll!__endthreadex()  + 0x3b bytes
>   msvcr80.dll!__endthreadex ()  + 0xc7 bytes
>   kernel32.dll!@BaseThreadInitThunk at 12()  + 0xe bytes
>   ntdll.dll!__RtlUserThreadStart at 8 ()  + 0x23 bytes
>
> I'm grabbed a copy out of SVN about 30 minutes after you posted. So, I
> believe I have the right code. If you want me to perform any further
> testing/changes just yell.

Originally I was getting crashes in the Text constructor to the lack
of thread safety on Node,Drawable and StateSet addParent.  This is now
mutexed so "shouldn't" be giving problems.. at least I don't get
problems with it any more.

I'll test it once again to see if I can knock it over.  Perhaps its a
different problems to the addParent.  Could you try with a debug
version so we can get where abouts within the Text constructor its
crashing.

Thanks,
Robert.



More information about the osg-users mailing list