Boost logo

Boost Users :

From: Dmitriy Morozov (morozov+nntp_at_[hidden])
Date: 2005-09-09 12:55:48


Hi,

I'm having problems with boost serialization library.

There are two cases in which it is segfaulting on me. One is during a
register_type() call, but we can discuss that one later. Another one which
I am trying to debug right now is when I am trying to serialize a large
binary tree (lots of pointers all over the place, sometimes pointing at
themselves, sometimes at 0, sometimes jumping all over the tree). I am not
quite sure how to approach the debugging of this issue since for some
reason I am not able to step into the boost serialization routines
themselves (but I'm not so good with the debugger). The actual segfault as
given by DDD is:

Program received signal SIGSEGV, Segmentation fault.
0x40075b75 in
std::_Rb_tree<boost::archive::detail::basic_oarchive_impl::cobject_type,
boost::archive::detail::basic_oarchive_impl::cobject_type,
std::_Identity<boost::archive::detail::basic_oarchive_impl::cobject_type>,
std::less<boost::archive::detail::basic_oarchive_impl::cobject_type>,
std::allocator<boost::archive::detail::basic_oarchive_impl::cobject_type>
>::insert_unique(boost::archive::detail::basic_oarchive_impl::cobject_type
const&) () from /usr/lib/libboost_serialization.so.1.33.0

Any advice is appreciated.

Best,
Dmitriy

P.S. On a completely unrelated note, when the abstract base class is a
template, the BOOST_IS_ABSTRACT macro is not applicable. It would be
helpful if the documentation listed the chunk of code that needs to be
added in that case. It's pretty easy to find it in the header files
(is_abstract.hpp), but it may be helpful to just list it.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net