After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 698286 - icons/22/nm-signal-*.png broken with wrong byte lenght PNG IDAT (visible with libpng16)
icons/22/nm-signal-*.png broken with wrong byte lenght PNG IDAT (visible with...
Status: RESOLVED DUPLICATE of bug 697286
Product: NetworkManager
Classification: Platform
Component: nm-applet
unspecified
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2013-04-18 10:59 UTC by Samuli Suominen
Modified: 2013-04-18 13:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fixed-nm-signal-icons.tar.xz (2.00 KB, application/x-compressed-tar)
2013-04-18 11:03 UTC, Samuli Suominen
Details

Description Samuli Suominen 2013-04-18 10:59:57 UTC
The icons/22/nm-signal-*.png icons were created with broken combination of libpng and zlib. 
They are visible with libpng 1.5 and older, while it was never the purpose, so call that 'fluke' or something. But with libpng 1.6 it correctly bails out with errors of:

WARNING **: Icon nm-signal-00 missing: (0) Fatal error reading PNG
image file: Decompression error in IDAT 
WARNING **: Icon nm-signal-25 missing: (0) Fatal error reading PNG
image file: Decompression error in IDAT 
WARNING **: Icon nm-signal-50 missing: (0) Fatal error reading PNG
image file: Decompression error in IDAT 
WARNING **: Icon nm-signal-75 missing: (0) Fatal error reading PNG
image file: Decompression error in IDAT 
WARNING **: Icon nm-signal-100 missing: (0) Fatal error reading PNG
image file: Decompression error in IDAT 

They can be fixed with pngcrush-1.7.57 built against libpng-1.5.15. ChangeLog of pngcrush:

Version 1.7.57 (built with libpng-1.5.15 and zlib-1.2.7-1)
  Reverted to libpng-1.5.15 to be able to read old PNG files with TOO FAR
  errors.  This will of course only work with the embedded libpng.

http://pmt.sourceforge.net/pngcrush/

The command to run is:

$ mkdir fixed
$ pngcrush -fix -force nm-signal-00.png fixed/nm-signal-00.png

I've done that for you if you don't want to go through the hoops to install these packages here:

http://dev.gentoo.org/~ssuominen/pngcrush-fixed-nm-signal-icons.tar.xz

For more detailed explanation you can see the discussion between libpng and zlib upstream developers here:

http://old.nabble.com/libpng-1.6-upgrade-td35259392.html
http://comments.gmane.org/gmane.comp.graphics.png.general/2527

Or you can simply google for 'nm-applet libpng 1.6'.

This was also reported downstream here:

http://bugs.gentoo.org/show_bug.cgi?id=466190

The problem is verified in network-manager-applet-0.9.8.0.
Comment 1 Samuli Suominen 2013-04-18 11:03:43 UTC
Created attachment 241814 [details]
fixed-nm-signal-icons.tar.xz

The fixed icons also as an attachement. They are fixed with latest pngcrush (1.7.57) built against latest libpng from 1.5 series (1.5.15).

fix_IDAT_in_nm_applet_icons() {
mkdir -p /tmp/fixed
local size
for size in 00 25 50 75 100; do
pngcrush -fix -force nm-signal-${x}.png /tmp/fixed/nm-signal-${x}.png
done
}
Comment 2 Dan Winship 2013-04-18 13:19:21 UTC
already fixed in git, and will be fixed in the next stable release

*** This bug has been marked as a duplicate of bug 697286 ***