Opened 5 years ago

Last modified 4 years ago

#10106 new Bugs

boost shared_ptr.hpp runtime error.

Reported by: Spinach <spinach@…> Owned by: Peter Dimov
Milestone: To Be Determined Component: smart_ptr
Version: Boost 1.44.0 Severity: Problem
Keywords: Cc:


I have code that previously ran perfectly on a mac 10.6.8 and currently runs on a ubuntu but when I try to run it on a newly installed 10.6.8 machine, I am getting this runtime error. I'm sure this is with the installation but any help is greatly appreciated.

Assertion failed: (px != 0), function operator*, file /usr/local/boost_1_44_0/boost/smart_ptr/shared_ptr.hpp, line 412. Abort trap"

With Boost 1.44.0 and icu4c 4.3.4. and Code::Blocks compiler. Running on Mac OS X 10.6.8.

We have tried updating to the latest versions of both libraries, however still no dice. However, with Boost 1.55, the runtime error cites a different line (don't quite remember what line number, but it was in the 500s).

The program we are trying to run has ran on Boost 1.38 and I've found a couple solutions including one that says there may be a discrepancy between which version of boost the linker and includer are using. However, there's only one version of boost on my computer. The compiler and linker are both set to the directories mentioned when I installed Boost. Could it be that somewhere else, one of those is still looking for Boost 1.38? If so, where?

I've also found that it could be due to a pointer being improperly initialized, but I am reluctant to go down that road since it used to work (and still works on previous versions of boost on ubuntu) and since it would require me to rewrite quite a bit of code.

Any thoughts as to how to fix the problem?


Change History (3)

comment:1 Changed 4 years ago by viboes

Please, could you give any hints about what your program is doing?

comment:2 Changed 4 years ago by viboes

Component: Nonesmart_ptr
Owner: set to Peter Dimov

comment:3 Changed 4 years ago by Peter Dimov

This assertion indicates that your program is trying to dereference a NULL pointer. A stack trace should tell you where this happens and from there, you may be able to figure out why.

Note: See TracTickets for help on using tickets.