Re: [Boost-bugs] [Boost C++ Libraries] #3002: boost.serialization doesn't run on sun sparc v9

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3002: boost.serialization doesn't run on sun sparc v9
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-05-13 09:10:42


#3002: boost.serialization doesn't run on sun sparc v9
---------------------------------------+------------------------------------
  Reporter: maverickchiang_at_[hidden] | Owner: ramey
      Type: Bugs | Status: reopened
 Milestone: Boost 1.39.0 | Component: serialization
   Version: Boost 1.38.0 | Severity: Problem
Resolution: | Keywords: serialization crash sunos 64 spac v9
---------------------------------------+------------------------------------
Changes (by anonymous):

  * status: closed => reopened
  * resolution: wontfix =>

Comment:

 Hi,

 Please consider to fix this issue inside the library.
 I could not tell whether the root cause is from serialization or io.

 testcase : test_array_xml_archive

 --

 (dbx) run
 Running: test_array_xml_archive
 (process id 18570)
 Reading libc_psr.so.1
 signal SEGV (no mapping at the fault address) in std::locale::locale at
 0x1001ad364
 0x00000001001ad364: locale+0x000c: ldx [%i5 + 24], %i3
 Current function is
 boost::io::basic_ios_locale_saver<char,std::char_traits<char> >::restore
   251 { s_save_.imbue( a_save_ ); }
 (dbx) where
   [1] std::locale::locale(0xffffffff7fffbe88, 0xffffffff7fffcf58,
 0x10034d030, 0xffffffff7ecf4e70, 0xa, 0x0), at 0x1001ad364
   [2] std::ios_base::imbue(0xffffffff7fffbf68, 0xffffffff7fffcf28,
 0xffffffff7fffccf0, 0x100146884, 0xffffffff7ece6000, 0xffffffff7fffcf58),
 at 0x1001a4720
   [3] std::basic_ios<char,std::char_traits<char>
>::imbue(0xffffffff7fffc028, 0xffffffff7fffcf28, 0xffffffff7fffccf0, 0x0,
 0x5, 0x5), at 0x1001c350c =>[4]
 boost::io::basic_ios_locale_saver<char,std::char_traits<char>
>::restore(this = 0xffffffff7fffcce8), line 251 in "ios_state.hpp"
   [5] boost::io::basic_ios_locale_saver<char,std::char_traits<char>
>::~basic_ios_locale_saver(this = 0xffffffff7fffcce8), line 248 in
 "ios_state.hpp"
   [6]
 boost::archive::basic_text_iprimitive<std::basic_istream<char,std::char_traits<char>
> >::~basic_text_iprimitive(this = 0xffffffff7fffccb8), line 149 in
 "basic_text_iprimitive.ipp"
   [7]
 boost::archive::xml_iarchive_impl<boost::archive::xml_iarchive>::~xml_iarchive_impl(this
 = 0xffffffff7fffccb0), line 191 in "xml_iarchive_impl.ipp"
   [8] boost::archive::xml_iarchive::~xml_iarchive(this =
 0xffffffff7fffccb0), line 121 in "xml_iarchive.hpp"
   [9] test_array<A>(_ARG1 = CLASS), line 103 in "test_array.cpp"
   [10] test_main(_ARG1 = 1, _ARG2 = 0xffffffff7ffff1c8), line 117 in
 "test_array.cpp"
   [11] main(argc = 1, argv = 0xffffffff7ffff1c8), line 179 in
 "test_tools.hpp"
 (dbx) print this
 this = 0xffffffff7fffcce8
 (dbx) up
 Current function is
 boost::io::basic_ios_locale_saver<char,std::char_traits<char>
>::~basic_ios_locale_saver
 dbx: warning: "integral_constant.hpp" has only 53 lines
 (dbx) up
 Current function is
 boost::archive::basic_text_iprimitive<std::basic_istream<char,std::char_traits<char>
> >::~basic_text_iprimitive
   149 basic_text_iprimitive<IStream>::~basic_text_iprimitive(){
 (dbx) list
   149 basic_text_iprimitive<IStream>::~basic_text_iprimitive(){
   150 is.sync();
   151 }
   152
   153 } // namespace archive
   154 } // namespace boost
 (dbx)


 Replying to [comment:2 anonymous]:
> Hi Robert,
>
> Thanks for looking into the ticket.
> Is it possible you can modify some logics inside the serialization
 libary so that the crash won't occur ?
>
> I mean even the algorithm is correct, we can try alternative logics to
 workaround compiler/platform discrepancies.
>
> Thanks,
> Mave.
>
>
> Replying to [comment:1 ramey]:
> > I don't believe that this is an issue that can be resolved from inside
 the serialization library. Perhaps someone knowledgeable in boost build
 on this plaform might be more helpful.
> >
> > Robert Ramey

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3002#comment:3>
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:00 UTC