Hi Rebecca, On 27 January 2014 18:34, Rebecca N. Palmer <[email protected]> wrote:
> I haven't ever seen this threading crash with osgviewerQt when compiling >> against Qt4. >> > That suggests the problem is in the Debian/Ubuntu packaging rather than > OSG itself (my test builds were as a .deb package, and the official Ubuntu > packages also have this bug: https://bugs.launchpad.net/ > ubuntu/+source/openscenegraph/+bug/1198806). > > Compile options: http://sources.debian.net/src/openscenegraph/3.2.0~rc1-2/ > debian/rules (at the bottom) > Dependencies: http://sources.debian.net/src/openscenegraph/3.2.0~rc1-2/ > debian/control (i.e. no Boost) > Build log: https://launchpadlibrarian.net/162611520/buildlog_ubuntu- > trusty-amd64.openscenegraph_3.2.0~rc1-2_UPLOADING.txt.gz Threading problems are very hit and miss, exactly the same binary can work one day and not the next.. Where the actual bug is is more of interesting question. Qt? X? osgQt? osgviewerQt? The bug isn't really in osgviewerQt as it's just creating a viewer than should just work, it should be the job of osgQt of making sure Qt is set up correctly. When using the osgViewer library one can create multi-threaded, multi-context windows without problems and osgviewerQt should not have to jump through any extra hurdles. If it's osgQt then it's something that is missing from creation of Qt objects. However, I do suspect the problem is actual somewhere in Qt. Qt has come very late to the multi-threaded world, a decade after the OSG got there, Qt's design itself is part of the problem. To roll back some perspective. This is an OSG example, the examples are part of the core OSG, they exist not for end users to use, but for development to review the source code and learn from. It's pretty odd to actually distribute examples designed for this purposes as binaries. If there is an error, it's in not just compiling the OSG core libraries and applications. > Is there an obvious "don't do that" in those settings, or should I suggest they add the XInitThreads() as a Debian patch? XInitThreads() patch is hack for a problem that lies entirely elsewhere in the stack, most likely Qt. Debian *shouldn't* by compiling the examples into binaries. The OSG build by default doesn't build the examples, just the libraries, plugins and applications, why on earth would debian be departing from this? Robert.
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

