imagemagick tools should be built without threading (or recursive mutexes fixed)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
imagemagick (Ubuntu) |
Expired
|
Medium
|
Unassigned |
Bug Description
Imagemagick signal handlers, if compiled with pthread support, may enter recursive mutex locks.
This may lead to deadlock in single-threaded programs such as 'convert'.
Generally, either error checking mutexes have to be used (and crash horribly), or signal handlers simplified, or at least stand-alone tools compiled without pthread.
(gdb) bt
#0 0x00002aabb7776bd8 in __lll_mutex_
#1 0x00002aabb7772ac8 in _L_mutex_lock_106 () from /lib/libpthread
#2 0x00002aabb7772423 in pthread_mutex_lock () from /lib/libpthread
#3 0x00002aabb5447cc5 in AcquireSemaphor
#4 0x00002aabb544f185 in GetNextKeyInSpl
#5 0x00002aabb5444141 in AsynchronousDes
#6 0x00002aabb54032e4 in ?? () from /usr/lib/
#7 <signal handler called>
#8 0x00002aabb7776bd8 in __lll_mutex_
#9 0x00002aabb7772ac8 in _L_mutex_lock_106 () from /lib/libpthread
#10 0x00002aabb7772423 in pthread_mutex_lock () from /lib/libpthread
#11 0x00002aabb5447cc5 in AcquireSemaphor
#12 0x00002aabb53ff111 in GetLocaleInfo_ () from /usr/lib/
#13 0x00002aabb53ff451 in GetLocaleMessage () from /usr/lib/
#14 0x00002aabb53db52d in GetLocaleExcept
#15 0x00002aabb53db91d in ThrowMagickExce
#16 0x00002aabb53dbaba in ThrowMagickExce
#17 0x00002aabb5447c86 in AllocateSemapho
#18 0x00002aabb5447ce5 in AcquireSemaphor
#19 0x00002aabb53ff111 in GetLocaleInfo_ () from /usr/lib/
#20 0x00002aabb53ff451 in GetLocaleMessage () from /usr/lib/
#21 0x00002aabb53db52d in GetLocaleExcept
#22 0x00002aabb53db91d in ThrowMagickExce
#23 0x00002aabb53dbaba in ThrowMagickExce
#24 0x00002aabb535e958 in ?? () from /usr/lib/
#25 0x00002aabb535f158 in SetCacheNexus () from /usr/lib/
#26 0x00002aabb535f464 in GetCacheNexus () from /usr/lib/
#27 0x00002aabb536f42d in CompositeImage () from /usr/lib/
#28 0x00002aabb5456f13 in CoalesceImages () from /usr/lib/
#29 0x00002aabb5407460 in MogrifyImageList () from /usr/lib/
#30 0x00002aabb540c00b in MogrifyImages () from /usr/lib/
#31 0x00002aabb53830f4 in ConvertImageCommand () from /usr/lib/
#32 0x0000000000400cc2 in ?? ()
#33 0x00002aabb5b208e4 in __libc_start_main () from /lib/libc.so.6
#34 0x0000000000400b29 in ?? ()
#35 0x00007ffff59e44f8 in ?? ()
#36 0x0000000000000000 in ?? ()
Domas, can you explain on the bug what the upstream status of this bug is? Both for the record and for other people reading the bug and because I've forgotten. :)