Hi Robert,
Thanks for the quick turn-around and review on this. Your conclusion
makes sense. But I hope osg::Texture is the only place where this kind
of bug was present. It may be that it was just the first one my example
tripped upon, and the (heavy-handed) workaround fixed them all...
I've now updated and built, and I think what I said above was right. I'm
still getting a crash in the same conditions, but now it's the
buffered_object called s_glExtensionSetList (in GLExtensions.cpp) that
is being resized in two threads at the same time. Both threads are in
osg::isGLExtensionOrVersionSupported() at the same time (first line):
ExtensionSet& extensionSet = s_glExtensionSetList[contextID];
One thread has contextID = 34 and the other contextID = 35. So the first
is trying to resize to 35 and the other to 36 at the same time.
This is again as a result of the GLObjectsVisitor being run in multiple
threads as a result of osgViewer::Renderer::compile(). So my workaround
still works.
This is not high priority for me. Even if you fixed this now, we would
continue using my workaround until we could update to a stable version
of OSG that contains the fix.
I know you're busy, so let me suggest something: when you have some
time, when you're done with other pressing matters, please run my
example code. It shows this quite clearly, and then you could fix things
as problems arise instead of going back and forth (it would mean less
time spend for both you and I, in the long run). Right now I don't think
it's really useful for you to fix one issue, have me test it, fix
another one, etc.
Thanks a lot,
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