FS#30122 - [imagemagick] OpenMP implementation problems

Attached to Project: Arch Linux
Opened by Adrian C. (anrxc) - Sunday, 03 June 2012, 02:18 GMT
Last edited by Eric Belanger (Snowman) - Friday, 22 June 2012, 03:40 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Eric Belanger (Snowman)
Architecture i686
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hello, after recent upgrade my VDR (video disk recorder) server started crashing. Its skin engine links with ImageMagick which was upgraded from imagemagick 6.7.6.8-1 -> 6.7.7.5-1 recently.

Here's what happens:

$ ./vdr -Ptext2skin
vdr: magick/cache-view.c:477: GetCacheViewAuthenticPixels: Assertion `id < (int) cache_view->number_threads' failed.
zsh: abort ./vdr -Ptext2skin

...killed by SIGABRT.


Only two results for this assertion point to ImageMagick forums where they claim:

- http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=17029
- "You have a buggy OpenMP implementation. Rebuild ImageMagick without
OpenMP support. Add --disable-openmp to your configure script command
line."

Strange, how come our OpenMP implementation went 'buggy' all of a sudden? Only plausible explanation I can find is that this is the first ImageMagick version packaged with gcc v4.7.0 since it entered core in April (and gcc-libs providing /usr/lib/libgomp.so).


Packages:
local/imagemagick 6.7.7.5-1
An image viewing/manipulation program

$ convert --version
Version: ImageMagick 6.7.7-5 2012-06-01 Q16 http://www.imagemagick.org
Features: OpenMP


Rebuilding ImageMagick 6.7.7.5 with --disable-openmp brought my VDR back to life. Attached is a few more details about the problem while I still had OpenMP support enabled, obtained with Valgrind.
This task depends upon

Closed by  Eric Belanger (Snowman)
Friday, 22 June 2012, 03:40 GMT
Reason for closing:  Fixed
Additional comments about closing:  imagemagick-6.7.7.7-1 has openmp disabled. I'll readd it when it'll work again.
Comment by Eric Belanger (Snowman) - Friday, 15 June 2012, 02:27 GMT
What package contains the vdr binary ?
Comment by Adrian C. (anrxc) - Friday, 15 June 2012, 03:10 GMT
This one, buut probably not startable for you without DVB hardware: http://aur.archlinux.org/packages.php?ID=5672

We needed a better OpenMP test case which I was unable to come up with until today, sorry.

$ wget http://www.bcsatellite.net/bao/square31.png
$ convert -bench 40 square31.png -sharpen 0x1
convert: magick/cache-view.c:477: GetCacheViewAuthenticPixels: Assertion `id < (int) cache_view->number_threads' failed.
convert: magick/cache-view.c:477: GetCacheViewAuthenticPixels: Assertion `id < (int) cache_view->number_threads' failed.
convert: magick/cache-view.c:477: GetCacheViewAuthenticPixels: Assertion `id < (int) cache_view->number_threads' failed.
zsh: abort convert -bench 40 square31.png -sharpen 0x1 null


Only documentation on OpenMP I could find: http://www.imagemagick.org/script/parallel.php

Loading...