Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5789: Segmentation fault with serialization when register_type rearranged
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-08-16 19:12:55
#5789: Segmentation fault with serialization when register_type rearranged
---------------------------------------------------+------------------------
Reporter: Krzysztof Tomaszewski <kt@â¦> | Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
Version: Boost 1.47.0 | Severity: Problem
Resolution: | Keywords:
---------------------------------------------------+------------------------
Comment (by Krzysztof Tomaszewski <kt@â¦>):
GDB shows following back-trace (after compiled with -g):
{{{
Program received signal SIGSEGV, Segmentation fault.
0x080575d6 in boost::archive::detail::basic_iarchive::load_pointer(void*&,
boost::archive::detail::basic_pointer_iserializer const*,
boost::archive::detail::basic_pointer_iserializer const*
(*)(boost::serialization::extended_type_info const&)) ()
(gdb) bt
#0 0x080575d6 in
boost::archive::detail::basic_iarchive::load_pointer(void*&,
boost::archive::detail::basic_pointer_iserializer const*,
boost::archive::detail::basic_pointer_iserializer const*
(*)(boost::serialization::extended_type_info const&)) ()
#1 0x0805370c in
boost::archive::detail::load_pointer_type<boost::archive::binary_iarchive>::invoke<A*>
(ar=..., t=@0xbffff09c)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:524
#2 0x0805367d in boost::archive::load<boost::archive::binary_iarchive,
A*> (ar=..., t=@0xbffff09c) at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:592
#3 0x0805361a in
boost::archive::detail::common_iarchive<boost::archive::binary_iarchive>::load_override<A*>
(this=0xbffff46c, t=@0xbffff09c)
at
/usr/local/boost/1.47/include/boost/archive/detail/common_iarchive.hpp:66
#4 0x080535b3 in
boost::archive::basic_binary_iarchive<boost::archive::binary_iarchive>::load_override<A*>
(this=0xbffff46c, t=@0xbffff09c, version=0)
at
/usr/local/boost/1.47/include/boost/archive/basic_binary_iarchive.hpp:70
#5 0x080534ca in
boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive,
char, std::char_traits<char> >::load_override<A*> (this=0xbffff46c,
t=@0xbffff09c)
at
/usr/local/boost/1.47/include/boost/archive/binary_iarchive_impl.hpp:50
#6 0x080533b2 in
boost::archive::detail::interface_iarchive<boost::archive::binary_iarchive>::operator>><A*>
(this=0xbffff46c, t=@0xbffff09c)
at
/usr/local/boost/1.47/include/boost/archive/detail/interface_iarchive.hpp:60
#7 0x080532e4 in
boost::serialization::nvp<A*>::load<boost::archive::binary_iarchive>
(this=0xbffff074, ar=...) at
/usr/local/boost/1.47/include/boost/serialization/nvp.hpp:87
#8 0x0805321a in
boost::serialization::access::member_load<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> > (ar=..., t=..., file_version=0)
at /usr/local/boost/1.47/include/boost/serialization/access.hpp:101
#9 0x08053151 in
boost::serialization::detail::member_loader<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> >::invoke (ar=..., t=..., file_version=0)
at
/usr/local/boost/1.47/include/boost/serialization/split_member.hpp:54
#10 0x08053088 in
boost::serialization::split_member<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> > (ar=..., t=..., file_version=0)
at
/usr/local/boost/1.47/include/boost/serialization/split_member.hpp:69
#11 0x08052f5d in
boost::serialization::nvp<A*>::serialize<boost::archive::binary_iarchive>
(this=0xbffff074, ar=..., file_version=0)
at /usr/local/boost/1.47/include/boost/serialization/nvp.hpp:89
#12 0x08052ce4 in
boost::serialization::access::serialize<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> > (ar=..., t=..., file_version=0)
at /usr/local/boost/1.47/include/boost/serialization/access.hpp:118
#13 0x080529eb in
boost::serialization::serialize<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> > (ar=..., t=..., file_version=0)
at
/usr/local/boost/1.47/include/boost/serialization/serialization.hpp:69
#14 0x0805285c in
boost::serialization::serialize_adl<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> > (ar=..., t=..., file_version=0)
at
/usr/local/boost/1.47/include/boost/serialization/serialization.hpp:128
#15 0x0805257f in
boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchive>::load_only::invoke<boost::serialization::nvp<A*>
> (ar=..., t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:373
#16 0x08051f28 in
boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchive>::invoke<boost::serialization::nvp<A*>
const> (ar=..., t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:439
#17 0x080517ca in boost::archive::load<boost::archive::binary_iarchive,
boost::serialization::nvp<A*> const> (ar=..., t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:592
#18 0x0805115a in
boost::archive::detail::common_iarchive<boost::archive::binary_iarchive>::load_override<boost::serialization::nvp<A*>
const> (this=0xbffff46c, t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/common_iarchive.hpp:66
#19 0x08050a5b in
boost::archive::basic_binary_iarchive<boost::archive::binary_iarchive>::load_override<boost::serialization::nvp<A*>
const> (this=0xbffff46c, t=..., version=0)
at
/usr/local/boost/1.47/include/boost/archive/basic_binary_iarchive.hpp:70
#20 0x08050224 in
boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive,
char, std::char_traits<char>
>::load_override<boost::serialization::nvp<A*> const> (
this=0xbffff46c, t=...) at
/usr/local/boost/1.47/include/boost/archive/binary_iarchive_impl.hpp:50
#21 0x0804fad4 in
boost::archive::detail::interface_iarchive<boost::archive::binary_iarchive>::operator>><boost::serialization::nvp<A*>
const> (this=0xbffff46c, t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/interface_iarchive.hpp:60
#22 0x0804f670 in
boost::serialization::load<boost::archive::binary_iarchive, A> (ar=...,
t=..., file_version=1)
at
/usr/local/boost/1.47/include/boost/serialization/shared_ptr.hpp:137
#23 0x0804f0ea in
boost::serialization::free_loader<boost::archive::binary_iarchive,
boost::shared_ptr<A> >::invoke (ar=..., t=..., file_version=1)
at /usr/local/boost/1.47/include/boost/serialization/split_free.hpp:58
#24 0x0804e958 in
boost::serialization::split_free<boost::archive::binary_iarchive,
boost::shared_ptr<A> > (ar=..., t=..., file_version=1)
at /usr/local/boost/1.47/include/boost/serialization/split_free.hpp:74
#25 0x0804e55d in
boost::serialization::serialize<boost::archive::binary_iarchive, A>
(ar=..., t=..., file_version=1)
at
/usr/local/boost/1.47/include/boost/serialization/shared_ptr.hpp:171
#26 0x0804dcac in
boost::serialization::serialize_adl<boost::archive::binary_iarchive,
boost::shared_ptr<A> > (ar=..., t=..., file_version=1)
at
/usr/local/boost/1.47/include/boost/serialization/serialization.hpp:128
#27 0x0804d2aa in
boost::archive::detail::iserializer<boost::archive::binary_iarchive,
boost::shared_ptr<A> >::load_object_data (this=0x807c6ac, ar=...,
x=0xbffff48c,
file_version=1) at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:188
#28 0x080573a9 in
boost::archive::detail::basic_iarchive::load_object(void*,
boost::archive::detail::basic_iserializer const&) ()
#29 0x0804cb2f in
boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchive>::load_standard::invoke<boost::shared_ptr<A>
> (ar=..., t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:387
#30 0x0804caba in
boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchive>::invoke<boost::shared_ptr<A>
> (ar=..., t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:439
#31 0x0804c468 in boost::archive::load<boost::archive::binary_iarchive,
boost::shared_ptr<A> > (ar=..., t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/iserializer.hpp:592
---Type <return> to continue, or q <return> to quit---
#32 0x0804bfb2 in
boost::archive::detail::common_iarchive<boost::archive::binary_iarchive>::load_override<boost::shared_ptr<A>
> (this=0xbffff46c, t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/common_iarchive.hpp:66
#33 0x0804bea5 in
boost::archive::basic_binary_iarchive<boost::archive::binary_iarchive>::load_override<boost::shared_ptr<A>
> (this=0xbffff46c, t=..., version=0)
at
/usr/local/boost/1.47/include/boost/archive/basic_binary_iarchive.hpp:70
#34 0x0804ba8a in
boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive,
char, std::char_traits<char> >::load_override<boost::shared_ptr<A> >
(this=0xbffff46c,
t=...) at
/usr/local/boost/1.47/include/boost/archive/binary_iarchive_impl.hpp:50
#35 0x0804b694 in
boost::archive::detail::interface_iarchive<boost::archive::binary_iarchive>::operator>><boost::shared_ptr<A>
> (this=0xbffff46c, t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/interface_iarchive.hpp:60
#36 0x0804b4f2 in
boost::archive::detail::interface_iarchive<boost::archive::binary_iarchive>::operator&<boost::shared_ptr<A>
> (this=0xbffff46c, t=...)
at
/usr/local/boost/1.47/include/boost/archive/detail/interface_iarchive.hpp:67
#37 0x0804a00b in main () at test20.cpp:85
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5789#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:07 UTC