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