Hi Robert,

> What issues were you seeing at your end?  Also how did you monitor the 
> race condition?
> Did problems still occur after you added the DataVariance setting?

I have some  time now, and I decided to investigate what is the context of 
these Windows/multimonitor/multithread/FBO crashes. I don't have any hard 
evidence but usually when such crashes occured I had some GLObjectsVisitor 
traversals on the call stack.

So I started to debug with VS 2008 and after some breakpoint stop I noticed 
such case on Threads/Cull Stack. I was surpirsed to see that one thread was 
inside drawable->apply( state ) method and main thread was in Update 
Callback.

I noticed that drawable did not have DYNAMIC variance set so I added it but 
issue did not disappear.

I believe that when threading is stopped and restarted GLObjectsVisitors are 
invoked. So I started to suspect that this race condition might be involved 
in crashses when changing threading modes with Threading Handler. I suppose 
multimonitor use might be also affect it somehow (at least initialization of 
synchronization barriers and blocks is).

Currently I am  further investigating it by freezing and activating some 
threads and stepping through selected threads but I am freely able to repeat 
this scenarios without deadlocks(caused by my debug thread suspends). So it 
looks like synchronization blocks and barriers do allow for such case. Of 
course  without my manual  interventions it does not happen so often but it 
still occurs every few runs.

Thanks,
Wojtek







_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to