Hi all,

I don't know if anyone was interested in this issue, but after a few more back-and-forths with the NVidia developers, we were able to determine that the bug is completely fixed. I asked what the cause was, and here was their answer:

There was a bug in our driver that had a race condition when an opengl thread 
gets destroyed. It could cause other opengl threads to deadlock. It appears the 
osgviewer.exe application doesn't simply create threads when the 'a' key is 
pressed, but it also destroys threads too. I haven't investigated what the 
threads do exactly, but it would appear each time 'a' is pressed, existing 
threads are completed and new ones (including the extra one) are recreated. 
It's when these threads are completed that the race condition could be hit. 
Also increasing the chances of this problem being hit, is how quickly and how 
many threads are completed at once. For this application, each time 'a' is 
pressed, a larger and larger number of threads are completed, increasing the 
chance of deadlock.

The bug was fixed by resolving the race condition that existed when an opengl 
thread is completed.

That got me thinking about the need for stopThreading() before adding a view... They seem to say that we could create a graphics context and related graphics thread without stopping existing threads in the viewer. Perhaps I'll investigate that in the near future.

I also asked whether the bug was resolved in the Linux drivers, and here was the answer:

As for whether or not your issue in Linux was resolved, I can't say for sure because we didn't have immediate access to a system to spend time testing it on, but it should be the same cause, and as such we believe it should be fixed there too. If you find it isn't resolved with the same version numbers the fix was seen in for Windows (182.06 or higher), let us know.

That would seem to indicate that at least some of their driver code is common between platforms, which is interesting in light of the driver quality discussions we had lately.

Robert, I don't know how often you can update your graphics drivers, but I'd certainly be interested to see if the issue is resolved on your Linux machine with the most recent drivers (if > 182.06). If you don't have the example code that reproduced the deadlock, I can resend it.

Anyways, in our application the issue is indeed gone, so that's good news for us.

J-S
--
______________________________________________________
Jean-Sebastien Guay    [email protected]
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to