An update...left the osgtext --mt demo running all night on both systems,
both had crashed by the time I got up this morning.

On 8/30/07, Robert Osfield <[EMAIL PROTECTED]> wrote:
>
> Hi Sherman,
>
> Thanks for the ThreadChecker output, just scanned through it.  I don't
> know how to interpret all the various warnings.
>
> W.r.t crash on exit, I can recreate that here, and strongly suspect
> its an order of destruction issue caused by the DeleteHandler caching
> objects.  I am considering avoiding use of DeleteHandler, but this
> will require use of ref_ptr<> in some way in the rendering backend,
> something that could have a significant performance impact unless we
> are really careful.  This is a different topic to text threading issue
> though.
>
> Since there are lots of warnings, it'd be nice to isolate the
> different problems more,  and fix them all - if they are real problems
> rather than false positives.  Doing such a complete purge will take
> some time though.
>
> Robert.
>
> On 8/30/07, sherman wilcox <[EMAIL PROTECTED]> wrote:
> > I ran this on two different systems.
> >
> > Dell 470 - Windows XP 32 dual processor nVidia FX 3400 : no crashes at
> > runtime, ran extensively, exited cleanly
> > Dell 490 - Windows Vista 64 Quad Core nVidia 8800GTX : no crashes at
> > runtime, crashes on exit in the delete handlers. The crash on exit isn't
> > consistent, have to run it for a while. There's a call stack from the
> crash
> > at the bottom of my message.
> >
> > In both tests I was using the DrawThreadPerContext threading model.
> >
> > I ran Intel ThreadChecker 3.1 against this test app on the XP32 box.
> I've
> > attached the logfile from threadchecker. I'm afraid there's a lot of
> "noise"
> > in there, but hopefully it will help someone. If you find the
> threadchecker
> > output interesting and wish to pursue it further, I'm willing to host a
> > WebEx meeting and allow you to pop in on one of my dev boxes to further
> > investigate with me if you like.
> >
> >
> >
> > >
> > osg.dll!std::list
> <osg::ref_ptr<osg::Operation>,std::allocator<osg::ref_ptr<osg::Operation>
> > > >::clear()  Line 826 + 0x19 bytes C++
> >   osg.dll!osg::OperationQueue::~OperationQueue()  Line 56 +
> > 0x43 bytes C++
> >   osgViewer.dll!osg::OperationQueue::`scalar deleting
> > destructor'()  + 0x9 bytes C++
> >   osg.dll!osg::DeleteHandler::flushAll()  Line 141 + 0x10
> > bytes C++
> >   osgViewer.dll!osgViewer::`dynamic atexit destructor for
> > 'createWindowingSystemInterfaceProxy''()  + 0x21 bytes C++
> >   osgViewer.dll!_CRT_INIT(void * hDllHandle=0x00db0000, unsigned long
> > dwReason=939280740, void * lpreserved=0x00000001)  Line 412 + 0x9 bytes
> C
> >   osgViewer.dll!__DllMainCRTStartup(void *
> > hDllHandle=0x00db0000, unsigned long dwReason=0, void *
> > lpreserved=0x00000000)  Line 512 + 0x8 bytes C
> >   osgViewer.dll!_DllMainCRTStartup(void *
> > hDllHandle=0x00db0000, unsigned long dwReason=0, void *
> > lpreserved=0x00000001)  Line 462 + 0x11 bytes C
> >   [EMAIL PROTECTED] ()  + 0x14 bytes
> >   [EMAIL PROTECTED]()  - 0xd1 bytes
> >   [EMAIL PROTECTED]()  - 0x13 bytes
> >   kernel32.dll!761292c7()
> >   msvcr80.dll!___crtExitProcess()  + 0x14 bytes
> >   msvcr80.dll!__cinit()  + 0x102 bytes
> >   msvcr80.dll!_exit()  + 0xd bytes
> >   osgtest.exe!__tmainCRTStartup()  Line 614 C
> >    [EMAIL PROTECTED]@12()  + 0xe bytes
> >   msvcr80.dll!_exit()  + 0xd bytes
> >   osgtest.exe!__tmainCRTStartup()  Line 614 C
> >   [EMAIL PROTECTED]@12 ()  + 0xe bytes
> >   [EMAIL PROTECTED]@12()  + 0xe bytes
> >
> >
> >
> >
> > On 8/28/07, Robert Osfield <[EMAIL PROTECTED]> wrote:
> > >
> > > To help in the process of isolating and fixing the osgText threading
> > > issues users have seen I have modified the osgtext example to do text
> > > creation in a background thread.  You can now run it via:
> > >
> > > osgtext --mt
> > >
> > > What you will see on screen is a box with text strings randomly
> > > appearing/disappearing in the box.
> > >
> > > As yet I haven't see any crashes due to the font glyphs being queried
> > > at the same time the text is being updated - which was the point of
> > > the example code...  These are the ones Ewe's changes look like they
> > > might address.
> > >
> > > I have also added the stats handler into the example to allow us to
> > > see the performance, but also by coincidence it adds a failure mode -
> > > when you enable stats freetype errors start appearing.  These errors
> > > look to be down to freetype being based around a state model where one
> > > of threads is setting the sizes and current fonts to one thing and the
> > > other thread is try at the same time to set them to another.
> > > Freetype itself might not be thread safe either, but my current feel
> > > is that we might need more than just serializing access to freetype,
> > > we'll need to group several operations at once and serialize these
> > > batches.
> > >
> > > 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
> >
> >
> >
> _______________________________________________
> 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