Boost C++ Libraries: Ticket #4260: core dump restoring simple archive on 64-bit Solaris https://svn.boost.org/trac10/ticket/4260 <p> When restoring a simple archive with 4 integers, I get a core dump when restoring the 4th. The first two are retrieved fine, the 3rd one is not restored and makes the stream go bad, and the 4th crashes it with a <a class="missing wiki">StreamError</a> exception. </p> <p> This only happens if I configure the libraries with address-model=64. This is with Sunstudio 12 Update 1 with all recent patches applied. </p> <p> In 32-bit mode the test runs through to completion. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4260 Trac 1.4.3 crispin.boylan@… Wed, 26 May 2010 14:45:46 GMT attachment set https://svn.boost.org/trac10/ticket/4260 https://svn.boost.org/trac10/ticket/4260 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">stream.cpp</span> </li> </ul> <p> Simple test </p> Ticket anonymous Wed, 26 May 2010 14:50:22 GMT <link>https://svn.boost.org/trac10/ticket/4260#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:1</guid> <description> <p> output from running the test: </p> <p> 1 2 3 22 serialization::archive 5 1 2 3 4 </p> <p> 27 22 Val: 1 29 22 Val: 2 31 22 Val: 2 -1 22 BAD Abort(coredump) </p> </description> <category>Ticket</category> </item> <item> <author>cris@…</author> <pubDate>Wed, 26 May 2010 15:00:44 GMT</pubDate> <title>cc set https://svn.boost.org/trac10/ticket/4260#comment:2 https://svn.boost.org/trac10/ticket/4260#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">cris@…</span> added </li> </ul> Ticket crispin.boylan@… Wed, 26 May 2010 16:50:09 GMT attachment set https://svn.boost.org/trac10/ticket/4260 https://svn.boost.org/trac10/ticket/4260 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">64_serial_fails.txt.gz</span> </li> </ul> <p> output from bjam toolset=sun address-model=64 in libs/serialization </p> Ticket crispin.boylan@… Wed, 26 May 2010 16:50:50 GMT <link>https://svn.boost.org/trac10/ticket/4260#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:3</guid> <description> <p> a lot of serialization tests failed with address-model=64 so i've attached the output of the failed tests. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Mon, 28 Jun 2010 16:26:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:4</guid> <description> <p> I've looked at your test and it shows the problem but doesn't help me fix it. </p> <p> Can you trace down into stlport and see what is really going wrong? </p> <p> Robert Ramey </p> </description> <category>Ticket</category> </item> <item> <author>crispin.boylan@…</author> <pubDate>Thu, 01 Jul 2010 13:06:53 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/4260 https://svn.boost.org/trac10/ticket/4260 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">stream_cpp_debug.txt</span> </li> </ul> <p> output of debug session for stream.cpp </p> Ticket crispin.boylan@… Thu, 01 Jul 2010 13:09:27 GMT <link>https://svn.boost.org/trac10/ticket/4260#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:5</guid> <description> <p> i cant see whats going wrong at all - from what I can see its getting to the stream in the right place, its calling the correct load&lt;int&gt; method, then loading that from the stream (which is in the right position and good() before loading), which just comes back with bad() set on the stream. </p> <p> i cant seem to step into the actual stream code in stlport. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Thu, 01 Jul 2010 15:46:37 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:6</guid> <description> <p> which version of stlport are you using? </p> <p> Are there any independent tests of that version of stlport? </p> <p> Looking at the test matrix - there are a number of 64 bit platforms passing w/o problems. Also a number of stlport tests. BUT, yours is the only test which combines 64 platform with stlport. It would be interesting to write a small test which verifies the correct functioning of the stlport 64 bit version independently of the serialization library. Perhaps stlport itself includes some tests that you can run. </p> <p> Robert Ramey </p> </description> <category>Ticket</category> </item> <item> <author>crispin.boylan@…</author> <pubDate>Thu, 01 Jul 2010 16:18:28 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:7</guid> <description> <p> this is just the internal version of stlport4 (4.5.3) which is shipped with sunstudio 12.1 </p> <p> I would assume that version has been tested with boost? It's the same version (Sun C++ 5.10) which is listed on the release notes,and there's no way to build boost with the crusty old Cstd which is the default. but like you say maybe it just hasnt been tested in 64-bit mode. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Thu, 01 Jul 2010 16:23:33 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:8</guid> <description> <p> take a look at <a class="ext-link" href="http://www.stlport.com/doc/testsuite.html"><span class="icon">​</span>http://www.stlport.com/doc/testsuite.html</a> </p> <p> Do these tests pass? </p> <p> Robert Ramey </p> </description> <category>Ticket</category> </item> <item> <author>crispin.boylan@…</author> <pubDate>Thu, 01 Jul 2010 16:48:56 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:9</guid> <description> <p> pretty much everything passes, but there are no iostreams tests in there unfortunately. </p> </description> <category>Ticket</category> </item> <item> <author>crispin.boylan@…</author> <pubDate>Tue, 13 Jul 2010 09:47:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:10</guid> <description> <p> i seem to have made some progress: </p> <p> if I comment out lines 129-137 in ./boost/archive/impl/basic_text_iprimitive.ipp and rebuild the library my test runs through to completion. </p> <p> the lines are: </p> <pre class="wiki">129 // if(! no_codecvt){ 130 // archive_locale.reset( 131 // add_facet( 132 // std::locale::classic(), 133 // new codecvt_null&lt;BOOST_DEDUCED_TYPENAME IStream::char_type&gt; 134 // ) 135 // ); 136 // is.imbue(* archive_locale); 137 // } </pre> </description> <category>Ticket</category> </item> <item> <author>crispin.boylan@…</author> <pubDate>Tue, 13 Jul 2010 12:25:22 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4260#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:11</guid> <description> <p> it seems to be the addition of a codecvt facet to the locale, if I use: </p> <pre class="wiki">new std::locale(std::locale::classic()) </pre><p> as the locale then the test also completes successfully. </p> <p> it doesnt seem to be the codecvt_null facet in itself, as if I use: </p> <pre class="wiki">new std::locale(std::locale::classic(), new std::codecvt&lt;char,char,mbstate_t&gt;) </pre><p> I also get the same crash </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Wed, 04 Aug 2010 19:14:18 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/4260#comment:12 https://svn.boost.org/trac10/ticket/4260#comment:12 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> I have no idea what to do with this. </p> <p> I could suggest that one use no_codecvt when opening the archive. This wouldn't be a fix - just a workaround for this compiler/stlport lib. </p> <p> So I'm going to close this with "can't fix" </p> <p> Robert Ramey </p> Ticket crispin.boylan@… Thu, 06 Jan 2011 15:30:20 GMT <link>https://svn.boost.org/trac10/ticket/4260#comment:13 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4260#comment:13</guid> <description> <p> i've finally tracked it down to a general fault in the stlport implementation in Solaris Studio. </p> <p> A bug has now been raised with Oracle: </p> <p> <a class="ext-link" href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7010483"><span class="icon">​</span>http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7010483</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>