[C++-sig] dynamic linking in Linux
Jim Bosch
talljimbo at gmail.com
Fri Jul 23 22:56:59 CEST 2010
On 07/23/2010 12:08 AM, Jim Bosch wrote:
> I've just run into the "wontfix" problem detailed here:
>
> https://svn.boost.org/trac/boost/ticket/3210
>
> Essentially, shared information held in one module (such as RTTI stuff
> needed for dynamic cast) isn't available to another module, leading to
> segfaults.
<snip>
An update: apparently, I'm not experiencing the garden-variety version
of this problem. Using setdlopenflags *doesn't* actually fix it (and
neither does the similar ctypes method); it was just intermittent, and
happened to work twice after I added the ctypes trick. And it appears
to only happens when pickling a Python builtin (dict, in my case) that
contains a wrapped C++ object. It doesn't matter whether I use pickle
or cPickle.
Given that many people (including myself) have pickled Boost.Python
objects inside dicts many times before without issue, it might be tricky
to make a contained example that reproduces it this problem. And I'm
less motivated now because I can just skip pickling the object in this
case and move on with my life...
But if anyone has any new ideas on where to look, it does seem like
mysterious behavior that would be nice to track down.
Jim
More information about the Cplusplus-sig
mailing list