Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
27 Views

boost-python shared object with openmp segfaults

We have a large open source software project that uses OpenMP and consists of a few libraries and python wrappers for those built using boost::python. Up until intel composer XE 12 everything was working fine but both with 13.1 and 13.5 we get a segmentation fault for a particular use-case. I was able to reproduce with a small example (see attachment). Note that the code example does not use OpenMP at all but compiling with the -openmp flag causes a segmentation fault, while leaving the flag off works as expected.
A valgrind run reveals that the crash is due to an invalid address within boost::throw_exception<bad_weak_ptr>.

To compile/link the example:

[bash]icpc -o testme.so -openmp -lpython2.7 -lboost_python -shared -fPIC testme.cpp[/bash]

and then to use:

[bash]python -c "import testme; testme.printone()"[/bash]

Has anyone seen this behaviour elsewhere? Is this a coding error or an issue with the compiler? Note that using gcc works.

Many thanks!

0 Kudos
2 Replies
Highlighted
Valued Contributor II
27 Views

What version of Boost library are you using? Please specify and thanks.
0 Kudos
Highlighted
Beginner
27 Views

Sergey Kostrov wrote:

What version of Boost library are you using? Please specify and thanks.

We use boost 1.51.0, python 2.7.3 (both compiled with gcc).
Environment is SLES 11 x86_64 running on Intel Xeon E5462.

0 Kudos