Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Imagick segfault on Alpine Linux (--without-threads) #497

Closed
csandanov opened this issue May 22, 2017 · 1 comment
Closed

Imagick segfault on Alpine Linux (--without-threads) #497

csandanov opened this issue May 22, 2017 · 1 comment
Labels

Comments

@csandanov
Copy link

csandanov commented May 22, 2017

Hi guys,

I'm getting a segfault error while using php extension imagick on Alpine Linux 3.4. The maintainer of imagick (@Danack) extension referred it as a bug in ImageMagick library on Alpine and recommended to compile it with --without-threads flag. The similar issue was posted before in alpine's bug tracker.

After a look up in alpine repository turned out it's already compiled without threads support but as was noted by @Danack:

Apparently CreateMagickThreadKey still does stuff when threads aren't compiled in.

ImageMagick/magick/thread.c

Lines 145 to 166 in ac23b02

#else
{
MagickThreadValue
**keys;
keys=(MagickThreadValue **) key;
*keys=(MagickThreadValue *) AcquireQuantumMemory(1,sizeof(*keys));
if (*keys != (MagickThreadValue *) NULL)
{
(*keys)->number_threads=GetOpenMPMaximumThreads();
(*keys)->values=AcquireQuantumMemory((*keys)->number_threads,
sizeof(void *));
if ((*keys)->values == (void *) NULL)
*keys=RelinquishMagickMemory(*keys);
else
(void) memset((*keys)->values,0,(*keys)->number_threads*
sizeof(void *));
(*keys)->destructor=destructor;
}
return((*keys != (MagickThreadValue *) NULL) ? MagickTrue : MagickFalse);
}
#endif
.

@csandanov csandanov changed the title Alpine Linux segfault --without-threads Imagick segfault on Alpine Linux (--without-threads) May 22, 2017
@mikayla-grace
Copy link

mikayla-grace commented May 23, 2017

Thanks for the problem report. We can reproduce it and will have a patch to fix it in GIT master branch @ https://github.com/ImageMagick/ImageMagick later today. The patch will be available in the beta releases of ImageMagick @ http://www.imagemagick.org/download/beta/ by sometime tomorrow.

In the mean-time, you should be able to avoid the fault by enabling threads.

@dlemstra dlemstra added the bug label May 24, 2017
jsonn pushed a commit to jsonn/pkgsrc that referenced this issue May 29, 2017
2017-05-28  7.0.5-9 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.5-9, GIT revision 20113:8b67333:20170528.

2017-05-28  7.0.5-9 Cristy  <quetzlzacatenango@image...>
  * Transient error validating the JPEG-2000 image format (reference
    ImageMagick/ImageMagick#501).
  * Properly allocate DCM image colormap (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=32063).

2017-05-26  7.0.5-8 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.5-8, GIT revision 20099:870a016:20170526.

2017-05-23  7.0.5-8 Cristy  <quetzlzacatenango@image...>
  * Improper allocation of memory for IM instances without threads (reference
    ImageMagick/ImageMagick#497).
  * Delete corrupt image from list (reference
    ImageMagick/ImageMagick#500).

2017-05-19  7.0.5-7 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 7.0.5-7, GIT revision 20078:7ce2d38:20170519.

2017-05-15  7.0.5-7 Cristy  <quetzlzacatenango@image...>
  * Support various image operators for the compare utility (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=31938).
algitbot pushed a commit to alpinelinux/aports that referenced this issue Jun 5, 2017
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Jun 14, 2017
Upstream changes:

2017-06-10  6.9.8-10 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-10, GIT revision 11637:eb6f363:20170610.

2017-06-10  6.9.8-10 Cristy  <quetzlzacatenango@image...>
  * Introduce SetMagickSecurityPolicy() (MagickCore) and
    MagickSetSecurityPolicy() (MagickWand) to set the ImageMagick security
    policy (reference ImageMagick/ImageMagick#407).

2017-06-02  6.9.8-9 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-9, GIT revision 11625:91bb35e:20170602.

2017-06-02  6.9.8-9 Cristy  <quetzlzacatenango@image...>
  * Fix choppy bitmap font rendering (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=32071).
  * Add support for 'hex:' property.

2017-05-28  6.9.8-8 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-8, GIT revision 11606:8b67333:20170528.

2017-05-28  6.9.8-8 Cristy  <quetzlzacatenango@image...>
  * Transient error validating the JPEG-2000 image format (reference
    ImageMagick/ImageMagick#501).
  * Properly allocate DCM image colormap (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=32063).

2017-05-26  6.9.8-7 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-7, GIT revision 11598:07d1dee:20170526.

2017-05-23  6.9.8-7 Cristy  <quetzlzacatenango@image...>
  * Improper allocation of memory for IM instances without threads (reference
          ImageMagick/ImageMagick#497).
  * Delete corrupt image from list (reference
    ImageMagick/ImageMagick#500).

2017-05-19  6.9.8-6 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-6, GIT revision 11590:7ce2d38:20170519.

2017-05-15  6.9.8-6 Cristy  <quetzlzacatenango@image...>
  * Support various image operators for the compare utility (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=31938).
jsonn pushed a commit to jsonn/pkgsrc that referenced this issue Jun 14, 2017
Upstream changes:

2017-06-10  6.9.8-10 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-10, GIT revision 11637:eb6f363:20170610.

2017-06-10  6.9.8-10 Cristy  <quetzlzacatenango@image...>
  * Introduce SetMagickSecurityPolicy() (MagickCore) and
    MagickSetSecurityPolicy() (MagickWand) to set the ImageMagick security
    policy (reference ImageMagick/ImageMagick#407).

2017-06-02  6.9.8-9 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-9, GIT revision 11625:91bb35e:20170602.

2017-06-02  6.9.8-9 Cristy  <quetzlzacatenango@image...>
  * Fix choppy bitmap font rendering (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=32071).
  * Add support for 'hex:' property.

2017-05-28  6.9.8-8 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-8, GIT revision 11606:8b67333:20170528.

2017-05-28  6.9.8-8 Cristy  <quetzlzacatenango@image...>
  * Transient error validating the JPEG-2000 image format (reference
    ImageMagick/ImageMagick#501).
  * Properly allocate DCM image colormap (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=32063).

2017-05-26  6.9.8-7 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-7, GIT revision 11598:07d1dee:20170526.

2017-05-23  6.9.8-7 Cristy  <quetzlzacatenango@image...>
  * Improper allocation of memory for IM instances without threads (reference
          ImageMagick/ImageMagick#497).
  * Delete corrupt image from list (reference
    ImageMagick/ImageMagick#500).

2017-05-19  6.9.8-6 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.8-6, GIT revision 11590:7ce2d38:20170519.

2017-05-15  6.9.8-6 Cristy  <quetzlzacatenango@image...>
  * Support various image operators for the compare utility (reference
    https://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=31938).
joebonrichie pushed a commit to solus-packages/imagemagick that referenced this issue Aug 14, 2023
Summary:
* Improper allocation of memory for IM instances without threads [reference](ImageMagick/ImageMagick#497)
* Delete corrupt image from list [reference](ImageMagick/ImageMagick#500)

Signed-off-by: Pierre-Yves <pyu@riseup.net>

Test Plan: checked `compare`, `convert` and `mogrify`

Reviewers: #triage_team, JoshStrobl

Reviewed By: #triage_team, JoshStrobl

Subscribers: kyrios123

Differential Revision: https://dev.solus-project.com/D240
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants