
I really can't see anything wrong with it; the test passes on every other platform.
It does, including the very same machine with aCC6. In fact, with aCC6, smart_ptr is all green. Why is this failure a concern for 1.34? Is g++ on HP-UX ia64 a release platform? Boris ----- Original Message ----- From: "Peter Dimov" <pdimov@mmltd.net> To: <boost@lists.boost.org> Cc: "Boris Gubenko" <Boris.Gubenko@hp.com> Sent: Thursday, September 07, 2006 7:02 PM Subject: Re: [boost] [shared_Ptr] [1.34] URGENT: Outstanding HP-UX/itaniumbug
Boris Gubenko wrote:
It segfaults, with and without -O0:
Program received signal SIGSEGV, Segmentation fault si_code: 1 - SEGV_MAPERR - Address not mapped to object. 0x408b831 in boost::detail::sp_counted_impl_pd<n_report_2::foo*,n_report_2::deleter>::boost::detail::sp_counted_impl_pd<n_report_2:: foo*,n_report_2::deleter> ( this=0x40014c30, p=0x40014bd0, d={<No data fields>}) at sp_counted_impl.hpp:140
The relevant portion of shared_ptr_test seems to be n_report_2, reproduced below; it seems that the fault is occuring at the very first line of test(). I really can't see anything wrong with it; the test passes on every other platform.
class foo { public:
void setWeak(boost::shared_ptr<foo> s) { w = s; }
private:
boost::weak_ptr<foo> w; };
class deleter { public:
deleter(): lock(0) { }
~deleter() { BOOST_TEST(lock == 0); }
void operator() (foo * p) { ++lock; delete p; --lock; }
private:
int lock; };
void test() { boost::shared_ptr<foo> s(new foo, deleter()); s->setWeak(s); s.reset(); }
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost