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

Reply via email to