Opened 15 years ago
Closed 15 years ago
#1508 closed Bugs (fixed)
text_map_binary_archive failure
Reported by: | jrp at dial dot pipex dot com | Owned by: | Robert Ramey |
---|---|---|---|
Milestone: | Boost 1.35.0 | Component: | serialization |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
VC++ 2008 throws an error ("string iterator not dereferencable") when running text_map_binary_archive
The problem occurs in text_iarchive_impl.ipp at the line
is.read(&(*s.begin()), size);
in routine text_iarchive_impl<Archive>::load(std::string &s)
size=0 and and s=""
The call stack is
msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x10062948, const wchar_t * file=0x10062990, unsigned int line=112) Line 24 C++ boost_serialization-vc90-mt-gd-1_35.dll!std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*() Line 112 + 0x12 bytes C++ boost_serialization-vc90-mt-gd-1_35.dll!std::_String_iterator<char,std::char_traits<char>,std::allocator<char> >::operator*() Line 370 C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load(std::basic_string<char,std::char_traits<char>,std::allocator<char> > & s="") Line 56 + 0x29 bytes C++ > test_map_text_archive_dll.exe!boost::archive::load_access::load_primitive<boost::archive::text_iarchive,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(boost::archive::text_iarchive & ar={...}, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="") Line 97 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::load_primitive::invoke(boost::archive::text_iarchive & ar={...}, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="") Line 339 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::invoke(boost::archive::text_iarchive & ar={...}, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="") Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(boost::archive::text_iarchive & ar={...}, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="") Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="", int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="", int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="", int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > & t="") Line 64 C++ test_map_text_archive_dll.exe!boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::load<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int __formal=0) Line 87 C++ test_map_text_archive_dll.exe!boost::serialization::access::member_load<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, const unsigned int file_version=0) Line 102 C++ test_map_text_archive_dll.exe!boost::serialization::detail::member_loader<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, const unsigned int file_version=0) Line 54 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::split_member<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, const unsigned int file_version=0) Line 69 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::serialize<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int file_version=0) Line 88 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::serialization::access::serialize<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, const unsigned int file_version=0) Line 110 C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, const unsigned int file_version=0) Line 81 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::load_only::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}) Line 351 + 0xf bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load_wrapper<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, boost::mpl::bool_<1> __formal={...}) Line 583 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}) Line 589 + 0x12 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > const >(const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > const >(const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > const >(const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}, int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > const >(const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}) Line 64 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator&<boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > const >(const boost::serialization::nvp<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & t={...}) Line 71 C++ test_map_text_archive_dll.exe!A::serialize<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int __formal=0) Line 94 C++ test_map_text_archive_dll.exe!boost::serialization::access::serialize<boost::archive::text_iarchive,A>(boost::archive::text_iarchive & ar={...}, A & t={...}, const unsigned int file_version=0) Line 110 C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,A>(boost::archive::text_iarchive & ar={...}, A & t={...}, const unsigned int file_version=0) Line 81 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,A>(boost::archive::text_iarchive & ar={...}, A & t={...}, const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::iserializer<boost::archive::text_iarchive,A>::load_object_data(boost::archive::detail::basic_iarchive & ar={...}, void * x=0x0012f730, const unsigned int file_version=0) Line 164 + 0x1a bytes C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::detail::basic_iarchive_impl::load_object(boost::archive::detail::basic_iarchive & ar={...}, void * t=0x0012f730, const boost::archive::detail::basic_iserializer & bis={...}) Line 388 C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::detail::basic_iarchive::load_object(void * t=0x0012f730, const boost::archive::detail::basic_iserializer & bis={...}) Line 523 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,A>::load_standard::invoke(boost::archive::text_iarchive & ar={...}, A & t={...}) Line 365 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,A>::invoke(boost::archive::text_iarchive & ar={...}, A & t={...}) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,A>(boost::archive::text_iarchive & ar={...}, A & t={...}) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<A>(A & t={...}, int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<A>(A & t={...}, int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<A>(A & t={...}, int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><A>(A & t={...}) Line 64 C++ test_map_text_archive_dll.exe!boost::serialization::nvp<A>::load<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int __formal=0) Line 87 C++ test_map_text_archive_dll.exe!boost::serialization::access::member_load<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}, const unsigned int file_version=0) Line 102 C++ test_map_text_archive_dll.exe!boost::serialization::detail::member_loader<boost::archive::text_iarchive,boost::serialization::nvp<A> >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}, const unsigned int file_version=0) Line 54 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::split_member<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}, const unsigned int file_version=0) Line 69 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::nvp<A>::serialize<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int file_version=0) Line 88 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::serialization::access::serialize<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}, const unsigned int file_version=0) Line 110 C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}, const unsigned int file_version=0) Line 81 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}, const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<A> >::load_only::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}) Line 351 + 0xf bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<A> >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<A> & t={...}) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load_wrapper<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<A> & t={...}, boost::mpl::bool_<1> __formal={...}) Line 583 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<A> >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<A> & t={...}) Line 589 + 0x12 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<A> const >(const boost::serialization::nvp<A> & t={...}, int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<A> const >(const boost::serialization::nvp<A> & t={...}, int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<A> const >(const boost::serialization::nvp<A> & t={...}, int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><boost::serialization::nvp<A> const >(const boost::serialization::nvp<A> & t={...}) Line 64 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator&<boost::serialization::nvp<A> const >(const boost::serialization::nvp<A> & t={...}) Line 71 C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,random_key const ,A>(boost::archive::text_iarchive & ar={...}, std::pair<random_key const ,A> & p=({m_i=17505 },{b=true f=553902118 g=661662372 ...}), const unsigned int __formal=0) Line 43 C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,std::pair<random_key const ,A> >(boost::archive::text_iarchive & ar={...}, std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...}), const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::iserializer<boost::archive::text_iarchive,std::pair<random_key const ,A> >::load_object_data(boost::archive::detail::basic_iarchive & ar={...}, void * x=0x0012f728, const unsigned int file_version=0) Line 164 + 0x1a bytes C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::detail::basic_iarchive_impl::load_object(boost::archive::detail::basic_iarchive & ar={...}, void * t=0x0012f728, const boost::archive::detail::basic_iserializer & bis={...}) Line 388 C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::detail::basic_iarchive::load_object(void * t=0x0012f728, const boost::archive::detail::basic_iserializer & bis={...}) Line 523 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::pair<random_key const ,A> >::load_standard::invoke(boost::archive::text_iarchive & ar={...}, std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...})) Line 365 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::pair<random_key const ,A> >::load_conditional::invoke(boost::archive::text_iarchive & ar={...}, std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...})) Line 371 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::pair<random_key const ,A> >::invoke(boost::archive::text_iarchive & ar={...}, std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...})) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,std::pair<random_key const ,A> >(boost::archive::text_iarchive & ar={...}, std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...})) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<std::pair<random_key const ,A> >(std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...}), int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<std::pair<random_key const ,A> >(std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...}), int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<std::pair<random_key const ,A> >(std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...}), int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><std::pair<random_key const ,A> >(std::pair<random_key const ,A> & t=({m_i=17505 },{b=true f=553902118 g=661662372 ...})) Line 64 C++ test_map_text_archive_dll.exe!boost::serialization::nvp<std::pair<random_key const ,A> >::load<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int __formal=0) Line 87 C++ test_map_text_archive_dll.exe!boost::serialization::access::member_load<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, const unsigned int file_version=0) Line 102 C++ test_map_text_archive_dll.exe!boost::serialization::detail::member_loader<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, const unsigned int file_version=0) Line 54 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::split_member<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, const unsigned int file_version=0) Line 69 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::nvp<std::pair<random_key const ,A> >::serialize<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int file_version=0) Line 88 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::serialization::access::serialize<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, const unsigned int file_version=0) Line 110 C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, const unsigned int file_version=0) Line 81 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >::load_only::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}) Line 351 + 0xf bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load_wrapper<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, boost::mpl::bool_<1> __formal={...}) Line 583 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}) Line 589 + 0x12 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::pair<random_key const ,A> > const >(const boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::pair<random_key const ,A> > const >(const boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::pair<random_key const ,A> > const >(const boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}, int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><boost::serialization::nvp<std::pair<random_key const ,A> > const >(const boost::serialization::nvp<std::pair<random_key const ,A> > & t={...}) Line 64 C++ test_map_text_archive_dll.exe!boost::serialization::stl::archive_input_multi<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::operator()(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & s=[0](), const unsigned int v=0) Line 96 C++ test_map_text_archive_dll.exe!boost::serialization::stl::load_collection<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > >,boost::serialization::stl::archive_input_multi<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >,boost::serialization::stl::no_reserve_imp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & s=[0]()) Line 135 C++ test_map_text_archive_dll.exe!boost::serialization::load<boost::archive::text_iarchive,A,random_key,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), const unsigned int __formal=0) Line 101 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::serialization::free_loader<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::invoke(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), const unsigned int file_version=0) Line 58 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::serialization::split_free<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), const unsigned int file_version=0) Line 74 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,A,random_key,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > >(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), const unsigned int file_version=0) Line 112 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::iserializer<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::load_object_data(boost::archive::detail::basic_iarchive & ar={...}, void * x=0x0012feec, const unsigned int file_version=0) Line 164 + 0x1a bytes C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::detail::basic_iarchive_impl::load_object(boost::archive::detail::basic_iarchive & ar={...}, void * t=0x0012feec, const boost::archive::detail::basic_iserializer & bis={...}) Line 388 C++ boost_serialization-vc90-mt-gd-1_35.dll!boost::archive::detail::basic_iarchive::load_object(void * t=0x0012feec, const boost::archive::detail::basic_iserializer & bis={...}) Line 523 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::load_standard::invoke(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0]()) Line 365 C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::invoke(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0]()) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(boost::archive::text_iarchive & ar={...}, std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0]()) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0](), int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >(std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > & t=[0]()) Line 64 C++ test_map_text_archive_dll.exe!boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::load<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int __formal=0) Line 87 C++ test_map_text_archive_dll.exe!boost::serialization::access::member_load<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, const unsigned int file_version=0) Line 102 C++ test_map_text_archive_dll.exe!boost::serialization::detail::member_loader<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, const unsigned int file_version=0) Line 54 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::split_member<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, const unsigned int file_version=0) Line 69 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > >::serialize<boost::archive::text_iarchive>(boost::archive::text_iarchive & ar={...}, const unsigned int file_version=0) Line 88 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::serialization::access::serialize<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, const unsigned int file_version=0) Line 110 C++ test_map_text_archive_dll.exe!boost::serialization::serialize<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, const unsigned int file_version=0) Line 81 + 0x11 bytes C++ test_map_text_archive_dll.exe!boost::serialization::serialize_adl<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, const unsigned int file_version=0) Line 140 + 0x18 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >::load_only::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}) Line 351 + 0xf bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >::invoke(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}) Line 414 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}) Line 561 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load_wrapper<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, boost::mpl::bool_<1> __formal={...}) Line 583 + 0xd bytes C++ test_map_text_archive_dll.exe!boost::archive::load<boost::archive::text_iarchive,boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > >(boost::archive::text_iarchive & ar={...}, const boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}) Line 589 + 0x12 bytes C++ test_map_text_archive_dll.exe!boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > const >(const boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, int __formal=0) Line 59 + 0x15 bytes C++ test_map_text_archive_dll.exe!boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > const >(const boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, int __formal=0) Line 63 C++ test_map_text_archive_dll.exe!boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > const >(const boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}, int __formal=0) Line 66 C++ test_map_text_archive_dll.exe!boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > const >(const boost::serialization::nvp<std::multimap<random_key,A,std::less<random_key>,std::allocator<std::pair<random_key const ,A> > > > & t={...}) Line 64 C++ test_map_text_archive_dll.exe!test_multimap() Line 139 C++ test_map_text_archive_dll.exe!test_main(int __formal=1, int __formal=1) Line 241 C++ test_map_text_archive_dll.exe!main(int argc=1, char * * argv=0x00c61ca0) Line 166 + 0xd bytes C++ test_map_text_archive_dll.exe!__tmainCRTStartup() Line 582 + 0x19 bytes C test_map_text_archive_dll.exe!mainCRTStartup() Line 399 C
Change History (4)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
I am curious about this. This is a recent change. I don't trust bjam "incremental". So until I get some more confirmation I'm going to assume its a test artifact.
Robert Ramey
comment:3 by , 15 years ago
Resolution: | wontfix |
---|---|
Status: | closed → reopened |
This isn't simply a test artifact - you get the same error with the simple program:
int _tmain(int argc, _TCHAR* argv[]) { std::stringstream sss; boost::archive::text_oarchive oa(sss); std::string out; oa << out; std::string in; boost::archive::text_iarchive ia(sss); ia >> in; return 0; }
The same thing happens on both VC8(SP1) and VC9 (and both work fine if the initial string isn't empty).
The problem with the
is.read(&(*s.begin()), size);
is that if size is 0 (and therefore s is empty) you end up dereferencing an 'invalid' iterator, which the debug iterators don't like you doing.
comment:4 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
OK
I've made the following change
if(0 < size)
is.read(&(*s.begin()), size);
Hopefully that should do it.
Thanks for spending the time to characterise this.
Robert Ramey
I just got this error (plus a few other similar ones) when running an incremental regression test on Trunk.
I didnt get the error when i ran the full test, so i'm not sure if it's a result of the incremental test or something that has been changed in the past few days.