ImageMagick with Boost thread library
Posted: 2010-10-26T23:21:02-07:00
Hi there!
Has anybody tried to use ImageMagick along with Boost thread library?
I'm trying to integrate ImageMagick with my project and I got some problems.
It seems that ImageMagick is not compatible with Boost thread library.
It crashes when a magick function was called in a subthread.
At first I thought it was the well-known OpenMP problem, so I configured IM with --disable-openmp option.
But now it crashes with another kind of error:
#0 0x00007fff844cdb6e in __semwait_signal_nocancel ()
#1 0x00007fff844cda70 in nanosleep$NOCANCEL ()
#2 0x00007fff8452a3c6 in usleep$NOCANCEL ()
#3 0x00007fff8454997c in abort ()
#4 0x00007fff844c9972 in _Unwind_Resume ()
#5 0x0000000100144350 in boost::detail::sp_counted_base::release () at /usr/local/boost_1_44_0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:159
#6 ~shared_count [inlined] () at sp_counted_base_gcc_x86.hpp:217
#7 ~shared_ptr [inlined] () at /usr/local/boost_1_44_0/boost/smart_ptr/detail/shared_count.hpp:169
#8 0x0000000100144350 in thread_proxy (param=<value temporarily unavailable, due to optimizations>) at sp_counted_base_gcc_x86.hpp:138
#9 0x00007fff84494456 in _pthread_start ()
#10 0x00007fff84494309 in thread_start ()
Any idea on how to avoid this problem?
Thanks a lot in advance!
Has anybody tried to use ImageMagick along with Boost thread library?
I'm trying to integrate ImageMagick with my project and I got some problems.
It seems that ImageMagick is not compatible with Boost thread library.
It crashes when a magick function was called in a subthread.
At first I thought it was the well-known OpenMP problem, so I configured IM with --disable-openmp option.
But now it crashes with another kind of error:
#0 0x00007fff844cdb6e in __semwait_signal_nocancel ()
#1 0x00007fff844cda70 in nanosleep$NOCANCEL ()
#2 0x00007fff8452a3c6 in usleep$NOCANCEL ()
#3 0x00007fff8454997c in abort ()
#4 0x00007fff844c9972 in _Unwind_Resume ()
#5 0x0000000100144350 in boost::detail::sp_counted_base::release () at /usr/local/boost_1_44_0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:159
#6 ~shared_count [inlined] () at sp_counted_base_gcc_x86.hpp:217
#7 ~shared_ptr [inlined] () at /usr/local/boost_1_44_0/boost/smart_ptr/detail/shared_count.hpp:169
#8 0x0000000100144350 in thread_proxy (param=<value temporarily unavailable, due to optimizations>) at sp_counted_base_gcc_x86.hpp:138
#9 0x00007fff84494456 in _pthread_start ()
#10 0x00007fff84494309 in thread_start ()
Any idea on how to avoid this problem?
Thanks a lot in advance!