OpenMP Assert Error: `id < (int) cache_info->number_threads'
Posted: 2013-09-05T20:56:49-07:00
Greetings! When I recently updated ImageMagick to version 6.7.7-10, it started giving me an assertion failure related to the number of threads. My program uses OpenMP as well, so I imagine this is related to that fact. But previous versions of ImageMagick worked fine with no assertion failures. Now, I receive the following error when an Image() instance is created:
Here are some details about my environment:
Work Around
The only way I can invoke a new Image() instance without trigging the assertion failure is by first invoking: omp_set_num_threads(4). Strangely, if I use any value greater than 4 it throws the assertion failure. Any value less than or equal to 4, it works fine. I have spent a few hours debugging this issue without much success. Any thoughts or suggestions would be most appreciated. Thanks!
Code: Select all
example: magick/cache.c:4536: QueueAuthenticPixels: Assertion `id < (int) cache_info->number_threads' failed.
Code: Select all
$ convert -version
Version: ImageMagick 6.7.7-10 2013-02-25 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
Code: Select all
$ identify -list resource
resourceFile Area Memory Map Disk Thread Time
-------------------------------------------------------------------------------
768 33.559GB 15.627GiB 31.254GiB unlimited 8 unlimited
The only way I can invoke a new Image() instance without trigging the assertion failure is by first invoking: omp_set_num_threads(4). Strangely, if I use any value greater than 4 it throws the assertion failure. Any value less than or equal to 4, it works fine. I have spent a few hours debugging this issue without much success. Any thoughts or suggestions would be most appreciated. Thanks!