I have attached a refreshed patch against OSG trunk (rev 13788).  It
compiles and is visually accurate, but is otherwise untested.

Even if this patch is incorporated upstream, I would prefer if the
original patch were applied to the version of OSG that is discributed
with 12.04 LTS, as my project is tracking the LTS releases and I would
rather not keep around my marginally-modified version of OSG.

As a new concern, however, fixing this multithreaded initialization bug
has unmasked another: that the library that the OSG Inventor plugin
adapts (libcoin60/source package coin3) is not built (at least on 12.04)
with the configuration option "--enable-threadsafe".  Without that
option, the OSG usage pattern in the Inventor plugin triggers another
static-global-initialization problem inside libcoin, so I still
occasionally race and segfault on the first batch load anyway...
yeesh...

Rebuilding libcoin60 with that extra configuration flag enabled seems to
relieve the problem without appreciable performance penalty, but I don't
know if it is appropriate to ask the LTS maintainers to just go changing
config options in a package like that.  I know that there have
previously been "-mt" variants of such packages, but no such beast seems
to exist for libcoin.

** Patch added: "Patch against svn trunk"
   
https://bugs.launchpad.net/ubuntu/+source/openscenegraph/+bug/1211993/+attachment/3816543/+files/fix_multithread_inventor_trunk.patch

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1211993

Title:
  Multithreaded static initialization bugs in Inventor plugin

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openscenegraph/+bug/1211993/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to