Concurrent Processes Executed on the Same File Lead to Corrupt Images

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
jnl
Posts: 3
Joined: 2017-08-09T01:48:49-07:00
Authentication code: 1151

Concurrent Processes Executed on the Same File Lead to Corrupt Images

Post by jnl »

Foreword: Because we are using TYPO3, here is the problem I posted on Forge, the TYPO3 Issue Tracker: https://forge.typo3.org/issues/81989

To begin, I do not know much about the inner workings of ImageMagick. I found out about it through using TYPO3 to process images. Thus, I am not sure if this is considered a bug.

Problem: When large images (>= 30MB) are converted simultaneously by multiple processes, we are often left with broken JPEGs. We can emulate this behavior if page (edited by the backend containing a fresh image that has yet to be converted into various sizes, usually at least 5 different versions for various viewports) is accessed by two browsers at the same time. If the file has not been processed yet, this will happen at runtime, which causes both instances to process the image concurrently. The conversion process then breaks and the file is incomplete. After doing a little reading, I thought ImageMagick employs some sort of mutex to prevent concurrent access to the file, but perhaps I don't quite understand how that works.

I would first like to know if this behavior could be due to an improperly configured installation of ImageMagick. Secondly, if ImageMagick is properly configured, but steps could be taken to prevent concurrent processing of a file without touching the TYPO3 Core, I would like to know what these are.

Current environment:

Server: Apache 2.4.23
PHP: PHP 7.0.20 Nonthread safe
CMS: TYPO3 7.6.21
ImageMagick 6.7.8-9

If you need any further information regarding the server configuration, etc. please let me know. I may need to contact our hoster.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: Concurrent Processes Executed on the Same File Lead to Corrupt Images

Post by magick »

It very likely a more modern release of ImageMagick resolves the problem you reported. Try ImageMagick 6.9.9-6, the current release. If it still fails, let us know.
jnl
Posts: 3
Joined: 2017-08-09T01:48:49-07:00
Authentication code: 1151

Re: Concurrent Processes Executed on the Same File Lead to Corrupt Images

Post by jnl »

Thank you for your quick reply.

We will contact our hosting provider and request that the version being updated. I will get back to you as soon as that has been taken care of.
jnl
Posts: 3
Joined: 2017-08-09T01:48:49-07:00
Authentication code: 1151

Re: Concurrent Processes Executed on the Same File Lead to Corrupt Images

Post by jnl »

We are still checking whether a repository exists that has a suitable PHP version bundled with the newer version of ImageMagick, but just out of curiousity, let's assume it would be corrected in the newer version. What was the problem in 6.7.8-9 that would cause this issue?
Post Reply