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
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig