--- boost_1_42_0/libs/serialization/src/void_cast.cpp.orig 2010-02-22 23:19:01.202759438 +0000 +++ boost_1_42_0/libs/serialization/src/void_cast.cpp 2010-02-22 23:19:59.306306569 +0000 @@ -284,6 +284,10 @@ void_cast_detail::set_type::iterator it; for(it = s.begin(); it != s.end();){ const void_caster * vc = *it; + if(vc == this) { + s.erase(it++); + } + else if(vc->m_parent == this){ s.erase(it); delete vc;