Well I bet you thought I finally gone away but I have been trying to track down 
some form of info that might be helpful on this but to follow up here is some 
additional info.

Robert Osfield wrote:
> I can't really comment much more, threading is heard to debug, next to
> impossible when you don't have a machine in front of you that you can
> recreate the problem on.

I agree but on the positive side I now think from displays to the console that 
I have inserted that it isn't threads but that for whatever reason some object 
is being left hanging but debugging it has been difficult - by the time the 
program hangs even in gdb you can't do a backtrace and then when I kill it of 
course then the process has stopped and there is nothing to backtrace.  I have 
tried stepping through but that is lines and lines of code hoping you will spot 
it before it hangs and then be able to do a backtrace.  I have but in a lot of 
outputs at the beginning of destruct methods for the classes and inputs when 
the destructs finish but that hasn't shown much either.  I have include two 
examples at the end of this.

> Isolating which apps fail on exit and which ones don't would be useful.

I used runexamples.bat and turned it into a shell script and then let it run 
and killed the ones I needed to as they hung.

do complete normal and return to console mode:
osgversion, osgunittests, osgautotransform, osgbillboard, osgblendequation, 
osgcatch, osgdepthshadow, osggeometry, 
osghangglide, osgkeyboard, osgkeyboardmouse, osglauncher, osglightpoint, 
osglogo, osgparticle, osgpointsprite, 
osgplanets, osgprerendercubemap, osgreflect, osgscalarbar, osgshaders, 
osgshaderterrain, osgparametric, osgshape, 
osgstereoimage, osgteapot, osgtexture2D, osgtexture3D, osgtexturerectangle, 
osgvertexprogram

These hang on exit and must be killed
osganimate, osgblendequation, osgcallback, osgclip, osgcubemap, osgdistortion, 
osgforest, osgfxbrowser, osghud, 
osgimposter, osglight, osglogicop, osgmotionblur, osgmultitexture, osgoccluder, 
osgparticleeffects, osgpick, 
osgprerender, osgscribe, osgsequence, osgsimplifier, osgviewer (none of the 4 - 
but they didn't display right either), 
osgshadowtexture, osgspheresegment, osgspotlight, osgtext, osgtexture1D, 
osgwindows

did nothing at all
osgcameragroup  dumptruck.osg  (has a thread/stack issue)
osgprecipitation --rain 0.5 lz.osg (has a thread/stack issue - seg fault)
osgprecipitation --snow 0.5 lz.osg (has a thread/stack issue - seg fault)
osgsimulation (doesn't exist)

Here are the examples of my displays I added and the first example is osgviewer 
which does hang:

[EMAIL PROTECTED] /usr/src/OpenSceneGraph
$ osgviewer cow.osg
Constructing osg::View
Constructing osgViewer::View
osgViewer:Viewer::construct()
Created New Thread 0 Process: 304611336
Scene::Scene() constructed.
Viewer::run()
GraphicsWindowWin32::setPixelFormat() - Found a matching pixel format but 
withou
t the WGL_SWAP_METHOD_ARB specification for screen #0
Win32WindowingSystem::OpenGLContext::~OpenGLContext() beginning
Win32WindowingSystem::OpenGLContext::~OpenGLContext() finishing
Destructing Camera.
Done destructing Camera.
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Destructing Camera.
Done destructing Camera.
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Viewport::~Viewport() terminating
Viewport::~Viewport() terminating
osgViewer::~Viewer()
Viewer::stopThreading() - and number barrier threads is 1 and threadrunning = 0
GraphicsWindowWin32::destroyWindow starting
GraphicsWindowWin32::destroyWindow finished
finish Viewer::~Viewer()
Destructing Thread 0 Process: 304611336
Thread 0 Process: 304611336 being deleted
Thread 0 Process: 304611336 was deleted
Viewport::~Viewport() terminating
Destructing osgViewer::View
Scene::Scene() destructed.
Destructing osg::View
Done destructing osg::View
Destructing Camera.
Done destructing Camera.
GraphicsWindowWin32::~GraphicsWindowWin32() begin to close
GraphicsWindowWin32::destroyWindow starting
GraphicsWindowWin32::destroyWindow finished
GraphicsWindowWin32::destroyWindow starting
GraphicsWindowWin32::destroyWindow finished
GraphicsWindowWin32::~GraphicsWindowWin32() finished
GrpahicsContext::~GraphicsContext() beginning
GraphicsContext::~GraphicsContext() finishing
Viewport::~Viewport() terminating
Group::~Group() beginning with 1 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 1 children
Group::~Group() beginning with 1 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 1 children
Image::~Image() beginning
Image:;~Image() finishing
Win32WindowingSystem::~Win32WindowingSystem() beginning
Win32WindowingSystem::~Win32WindowsingSystem() finishing
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Destructing Camera.
Done destructing Camera.
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Destructing Camera.
Done destructing Camera.
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Image::~Image() beginning
Image:;~Image() finishing
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Program::~Program() beginning with 0 shaders
Program::~Program() finishing with 0 shaders
Projection::~Projection() terminating
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Viewport::~Viewport() terminating

at this point I have to kill it as it will just hang here forever.
Now this example is osglogo which completes normal

[EMAIL PROTECTED] /usr/src/OpenSceneGraph
$ osglogo
Constructing osg::View
Constructing osgViewer::View
osgViewer:Viewer::construct()
Created New Thread 0 Process: 304611336
Scene::Scene() constructed.
Viewer::run()
GraphicsWindowWin32::setPixelFormat() - Found a matching pixel format but 
withou
t the WGL_SWAP_METHOD_ARB specification for screen #0
Win32WindowingSystem::OpenGLContext::~OpenGLContext() beginning
Win32WindowingSystem::OpenGLContext::~OpenGLContext() finishing
Destructing Camera.
Done destructing Camera.
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Destructing Camera.
Done destructing Camera.
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Viewport::~Viewport() terminating
Viewport::~Viewport() terminating
osgViewer::~Viewer()
Viewer::stopThreading() - and number barrier threads is 1 and threadrunning = 0
GraphicsWindowWin32::destroyWindow starting
GraphicsWindowWin32::destroyWindow finished
finish Viewer::~Viewer()
Destructing Thread 0 Process: 304611336
Thread 0 Process: 304611336 being deleted
Thread 0 Process: 304611336 was deleted
Viewport::~Viewport() terminating
Destructing osgViewer::View
Scene::Scene() destructed.
Destructing osg::View
Done destructing osg::View
Destructing Camera.
Done destructing Camera.
GraphicsWindowWin32::~GraphicsWindowWin32() begin to close
GraphicsWindowWin32::destroyWindow starting
GraphicsWindowWin32::destroyWindow finished
GraphicsWindowWin32::destroyWindow starting
GraphicsWindowWin32::destroyWindow finished
GraphicsWindowWin32::~GraphicsWindowWin32() finished
GrpahicsContext::~GraphicsContext() beginning
GraphicsContext::~GraphicsContext() finishing
Viewport::~Viewport() terminating
Group::~Group() beginning with 1 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 1 children
Group::~Group() beginning with 2 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 2 children
Group::~Group() beginning with 3 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 3 children
Group::~Group() beginning with 1 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 1 children
Group::~Group() beginning with 1 children
Group::~Group() removing Parent for iterator which has 1 parents
Group::~Group() finishing with 1 children
Image::~Image() beginning
Image:;~Image() finishing
Group::~Group() beginning with 0 children
Group::~Group() finishing with 0 children
Win32WindowingSystem::~Win32WindowingSystem() beginning
Win32WindowingSystem::~Win32WindowsingSystem() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing
Image::~Image() beginning
Image:;~Image() finishing

[EMAIL PROTECTED] /usr/src/OpenSceneGraph
$




_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to