Page MenuHomePhabricator

[Regression] Error creating thumbnail: convert: Too many IDAT's found
Closed, ResolvedPublic

Description

Error creating thumbnail: convert: Too many IDAT's found `/tmp/localcopy_33a1fcdb2046-1.png' @ error/png.c/MagickPNGErrorHandler/1309.
convert: corrupt image `/tmp/localcopy_33a1fcdb2046-1.png' @ error/png.c/ReadPNGImage/3294.

convert: missing an image filename `/tmp/transform_a6e2fcd7c404-1.png' @ error/convert.c/ConvertImageCommand/3011.

Works on my local machine (fedora 17) with ImageMagick 6.7.5-6 2012-08-11 Q16 but not on Toolserver's nightshade with ImageMagick 6.6.0-4 2012-05-02 Q16; the original PNG also renders fine for me within Firefox.

https://toolserver.org/~dispenser/temp/logs/cache_thumbs_errors.log gives 34 more examples, currently.


Version: unspecified
Severity: major
URL: https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/1khz_dither.png/180px-1khz_dither.png

Details

Reference
bz41374

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 1:14 AM
bzimport set Reference to bz41374.
bzimport added a subscriber: Unknown Object (MLST).

This depends on the libpng version used to compile imagemagick. I think we have another report about this somewhere in bugzilla.

libpng version info welcome.

Pardon my stupid question, but where does the user interface on https://commons.wikimedia.org/wiki/File:1khz_dither.png provide a 180px version?

Clicking on "Download" and under "Download image file:", clicking on any of the options "16px | 32px | 64px | 128px | 256px | Full resolution" always provides the same size and file URL in Firefox 16.0.1.

Using https://upload.wikimedia.org/wikipedia/commons/e/e0/1khz_dither.png itself (probably not very useful), I get:

$:andre\> pngcheck -vv 1khz_dither.png
File: 1khz_dither.png (8834 bytes)

chunk IHDR at offset 0x0000c, length 13
  502 x 429 image, 24-bit RGB, interlaced
chunk pHYs at offset 0x00025, length 9: 3779x3779 pixels/meter (96 dpi)
chunk IDAT at offset 0x0003a, length 7696
  zlib: deflated, 32K window, default compression
  rows per pass: 54, 54, 54, 108, 107, 215, 214
  row filters (0 none, 1 sub, 2 up, 3 avg, 4 paeth):
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 | 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 | 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 | 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 | 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 | 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 | 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 (806 out of 806)
chunk IDAT at offset 0x01e56, length 1048
  row filters (0 none, 1 sub, 2 up, 3 avg, 4 paeth):
   physical_value = p0 + p1 * original_sample / (x1-x0) (806 out of 806)
chunk IEND at offset 0x0227a, length 0

No errors detected in 1khz_dither.png (5 chunks, 98.6% compression).

(In reply to comment #2)

libpng version info welcome.

2:1.5.10-1.fc17 here

Pardon my stupid question, but where does the user interface on
https://commons.wikimedia.org/wiki/File:1khz_dither.png provide a 180px
version?

Nowhere. :-)
180px has been the standard thumb size for many years, which is why it's used on https://de.wikipedia.org/wiki/Dithering_%28Audiotechnik%29#Anwendung (but there was no cached thumb and purging didn't help).

https://toolserver.org/~dispenser/temp/logs/cache_thumbs_errors.log gives 34
more examples, currently.

Right now that log only shows one example for a picture uploaded in 2006, without thumbnails as the original is small already.

I'm seeing this same issue on one of my wikis at

http://wikiapiary.com/wiki/File:IndianerWiki_Logo.png

I'm on Ubuntu 12.04, ImageMagick libpng12-0 installed:

% aptitude show libpng12-0
Package: libpng12-0
State: installed
Automatically installed: no
Multi-Arch: same
Version: 1.2.46-3ubuntu4

% aptitude show imagemagick
Package: imagemagick
New: yes
State: installed
Automatically installed: no
Version: 8:6.6.9.7-5ubuntu3.2

Just use GIMP (open, save) to create a "proper" PNG

Gilles claimed this task.
Gilles subscribed.

File in the task description renders fine now. Could be the Stretch upgrade, or could be an older improvement.