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

Reply via email to