
On 8/26/06, Paul Davis <pjdavis@engineering.uiowa.edu> wrote:
(gdb) bt #0 0x000000000040a2f8 in boost::detail::atomic_exchange_and_add (pw=0x98, dv=-1) at sp_counted_base_gcc_x86.hpp:50 #1 0x000000000040a46c in boost::detail::sp_counted_base::release (this=0x90) at sp_counted_base_gcc_x86.hpp:143
Ah, the this pointer is off in la-la land here (0x90). #2 0x000000000040a4d0 in ~shared_count (this=0x2514218) at
shared_count.hpp:159
which means the pi_ pointer, an sp_counted_base, got messed up. #3 0x00002aaaaccb849b in ~shared_ptr (this=0x2514210) at shared_ptr.hpp:106
#4 0x00002aaaaccb88e1 in __gnu_cxx::new_allocator<boost::shared_ptr<min_heap> >::destroy (this=0x7fffffc2b410, __p=0x2514210) at new_allocator.h:107 #5 0x00002aaaaccb9f66 in std::vector<boost::shared_ptr<min_heap>, std::allocator<boost::shared_ptr<min_heap> > >::erase ( this=0x7fffffc2b410, __position={_M_current = 0x2514220}) at vector.tcc:115
Hmm, you're guess is as good as mine. I couldn't tell you if it is a boost bug or not. But I would probably spend some more time checking your own code too, to see if maybe you have memory corruption resulting from a buffer overflow or something like that. Phillip Hellewell