Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#5329 - the display app from imagemagick fails with error: *** glibc detected *** display: double free or co

Attached to Project: Arch Linux
Opened by robin wood (dninja) - Thursday, 31 August 2006, 23:02 GMT
Last edited by Tobias Powalowski (tpowa) - Friday, 01 September 2006, 06:06 GMT
Task Type Bug Report
Category Packages: Current
Status Closed
Assigned To Jan de Groot (JGC)
Architecture not specified
Severity Medium
Priority Normal
Reported Version 0.7.2 Gimmick
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

The following command:
display -geometry 1024x768+0+0 -window root wallpapers/wall88_1024.jpg

results in the following error:
*** glibc detected *** display: double free or corruption (fasttop): 0x0804f0d8 ***
======= Backtrace: =========
/lib/libc.so.6[0xb78f5ab0]
/lib/libc.so.6(__libc_free+0x84)[0xb78f70f4]
/usr/lib/libMagick.so.10(RelinquishMagickMemory+0x21)[0xb7e3c6f1]
/usr/lib/libWand.so.10(DisplayImageCommand+0x20b9)[0xb7cf9fe9]
display[0x8048a44]
/lib/libc.so.6(__libc_start_main+0xd8)[0xb78a8808]
display[0x8048851]
======= Memory map: ========
08048000-08049000 r-xp 00000000 03:05 35624 /usr/bin/display
08049000-0804a000 rwxp 00000000 03:05 35624 /usr/bin/display
0804a000-0808a000 rwxp 0804a000 00:00 0 [heap]
b7500000-b7521000 rwxp b7500000 00:00 0
b7521000-b7600000 ---p b7521000 00:00 0
b7676000-b7680000 r-xp 00000000 03:05 9765 /usr/lib/libgcc_s.so.1
b7680000-b7681000 rwxp 00009000 03:05 9765 /usr/lib/libgcc_s.so.1
b7681000-b7802000 rwxp b7681000 00:00 0
b7802000-b7806000 r-xp 00000000 03:05 5703 /usr/lib/libXfixes.so.3.0.0
b7806000-b7807000 rwxp 00003000 03:05 5703 /usr/lib/libXfixes.so.3.0.0
b7807000-b780f000 r-xp 00000000 03:05 30429 /usr/lib/libXrender.so.1.3.0
b780f000-b7810000 rwxp 00007000 03:05 30429 /usr/lib/libXrender.so.1.3.0
b7810000-b7818000 r-xp 00000000 03:05 5713 /usr/lib/libXcursor.so.1.0.2
b7818000-b7819000 rwxp 00007000 03:05 5713 /usr/lib/libXcursor.so.1.0.2
b7819000-b7821000 r-xp 00000000 03:05 35591 /usr/lib/ImageMagick-6.2.9/modules-Q16/coders/jpeg.so
b7821000-b7822000 rwxp 00007000 03:05 35591 /usr/lib/ImageMagick-6.2.9/modules-Q16/coders/jpeg.so
b7822000-b7869000 r-xp 00000000 03:05 33031 /usr/lib/locale/locale-archive
b7869000-b786b000 rwxp b7869000 00:00 0
b786b000-b786f000 r-xp 00000000 03:05 29515 /usr/lib/libXdmcp.so.6.0.0
b786f000-b7870000 rwxp 00003000 03:05 29515 /usr/lib/libXdmcp.so.6.0.0
b7870000-b7872000 r-xp 00000000 03:05 29501 /usr/lib/libXau.so.6.0.0
b7872000-b7873000 rwxp 00001000 03:05 29501 /usr/lib/libXau.so.6.0.0
b7873000-b7891000 r-xp 00000000 03:05 28611 /usr/lib/libexpat.so.0.5.0
b7891000-b7893000 rwxp 0001d000 03:05 28611 /usr/lib/libexpat.so.0.5.0
b7893000-b79aa000 r-xp 00000000 03:05 1130 /lib/libc-2.4.so
b79aa000-b79ac000 r-xp 00116000 03:05 1130 /lib/libc-2.4.so
b79ac000-b79ae000 rwxp 00118000 03:05 1130 /lib/libc-2.4.so
b79ae000-b79b1000 rwxp b79ae000 00:00 0
b79b1000-b79d4000 r-xp 00000000 03:05 1182 /lib/libm-2.4.so
b79d4000-b79d6000 rwxp 00022000 03:05 1182 /lib/libm-2.4.so
b79d6000-b79d7000 rwxp b79d6000 00:00 0
b79d7000-b7abf000 r-xp 00000000 03:05 29786 /usr/lib/libX11.so.6.2.0
b7abf000-b7ac3000 rwxp 000e8000 03:05 29786 /usr/lib/libX11.so.6.2.0
b7ac3000-b7ad8000 r-xp 00000000 03:05 4993 /usr/lib/libICE.so.6.3.0
b7ad8000-b7ad9000 rwxp 00014000 03:05 4993 /usr/lib/libICE.so.6.3.0
b7ad9000-b7adb000 rwxp b7ad9000 00:00 0
b7adb000-b7ae3000 r-xp 00000000 03:05 5006 /usr/lib/libSM.so.6.0.0
b7ae3000-b7ae4000 rwxp 00007000 03:05 5006 /usr/lib/libSM.so.6.0.0
b7ae4000-b7ae6000 r-xp 00000000 03:05 1142 /lib/libdl-2.4.so
b7ae6000-b7ae8000 rwxp 00001000 03:05 1142 /lib/libdl-2.4.so
b7ae8000-b7af9000 r-xp 00000000 03:05 13746 /usr/lib/libz.so.1.2.3
b7af9000-b7afa000 rwxp 00011000 03:05 13746 /usr/lib/libz.so.1.2.3
b7afa000-b7b64000 r-xp 00000000 03:05 28628 /usr/lib/libfreetype.so.6.3.8
b7b64000-b7b67000 rwxp 0006a000 03:05 28628 /usr/lib/libfreetype.so.6.3.8
b7b67000-b7b68000 rwxp b7b67000 00:00 0
b7b68000-b7b77000 r-xp 00000000 03:05 1175 /lib/libpthread-2.4.so
b7b77000-b7b79000 rwxp 0000e000 03:05 1175 /lib/libpthread-2.4.so
b7b79000-b7b7b000 rwxp b7b79000 00:00 0
b7b7b000-b7b8a000 r-xp 00000000 03:05 13546 /lib/libbz2.so.1.0.3
b7b8a000-b7b8b000 rwxp 0000e000 03:05 13546 /lib/libbz2.so.1.0.3
b7b8b000-b7bd6000 r-xp 00000000 03:05 5020 /usr/lib/libXt.so.6.0.0
b7bd6000-b7bd9000 rwxp 0004b000 03:05 5020 /usr/lib/libXt.so.6.0.0
b7bd9000-b7bda000 rwxp b7bd9000 00:00 0
b7bda000-b7be7000 r-xp 00000000 03:05 4653 /usr/lib/libXext.so.6.4.0
b7be7000-b7be8000 rwxp 0000c000 03:05 4653 /usr/lib/libXext.so.6.4.0
b7be8000-b7c11000 r-xp 00000000 03:05 28741 /usr/lib/libfontconfig.so.1.0.4
b7c11000-b7c16000 rwxp 00029000 03:05 28741 /usr/lib/libfontconfig.so.1.0.4
b7c16000-b7c17000 rwxp b7c16000 00:00 0
b7c17000-b7c36000 r-xp 00000000 03:05 38440 /usr/lib/libjpeg.so.62.0.0
b7c36000-b7c37000 rwxp 0001e000 03:05 38440 /usr/lib/libjpeg.so.62.0.0
b7c37000-b7c38000 rwxp b7c37000 00:00 0
b7c38000-b7c8a000 r-xp 00000000 03:05 5502 /usr/lib/libtiff.so.3.8.2
b7c8a000-b7c8c000 rwxp 00052000 03:05 5502 /usr/lib/libtiff.so.3.8.2
b7c8c000-b7cba000 r-xp 00000000 03:05 35254 /usr/lib/liblcms.so.1.0.15
b7cba000-b7cbc000 rwxp 0002d000 03:05 35254 /usr/lib/liblcms.so.1.0.15
b7cbc000-b7cbe000 rwxp b7cbc000 00:00 0
b7cbe000-b7d74000 r-xp 00000000 03:05 35345 /usr/lib/libWand.so.10.0.4
b7d74000-b7d76000 rwxp 000b5000 03:05 35345 /usr/lib/libWand.so.10.0.4
b7d76000-b7ee9000 r-xp 00000000 03:05 34875 /usr/lib/libMagick.so.10.0.4
b7ee9000-b7f30000 rwxp 00173000 03:05 34875 /usr/lib/libMagick.so.10.0.4
b7f30000-b7f48000 rwxp b7f30000 00:00 0
b7f52000-b7f53000 rwxp b7f52000 00:00 0
b7f53000-b7f6d000 r-xp 00000000 03:05 1166 /lib/ld-2.4.so
b7f6d000-b7f6e000 r-xp 00019000 03:05 1166 /lib/ld-2.4.so
b7f6e000-b7f6f000 rwxp 0001a000 03:05 1166 /lib/ld-2.4.so
bfd3d000-bfd56000 rw-p bfd3d000 00:00 0 [stack]
ffffe000-fffff000 ---p 00000000 00:00 0 [vdso]
Aborted

The wallpaper is set and the program fails with wallpapers which used to work ok and can be viewed with other apps so are not corrupt.

ImageMagick version 6.2.9 08/20/16

A previous version just seg faulted but didn't dump the info and didn't set the background so this is an improvement.
This task depends upon

Closed by  Jan de Groot (JGC)
Friday, 23 February 2007, 23:29 GMT
Reason for closing:  Fixed
Comment by Jan de Groot (JGC) - Friday, 01 September 2006, 22:19 GMT
Could you try 6.2.9.2? The package has been updated and contains an official fix for the invalid free/pointer problem.
Comment by robin wood (dninja) - Sunday, 03 September 2006, 19:10 GMT
I've just done an upgrade to imagemagick-6.2.9.2-1 which is showing in the help about box as 6.2.9 09/01/06 Q16. Still getting an error. I've reposted the error just in case there is something different.


display -geometry 1280x1024+0+0 -window root wallpaper/imite.jpg
*** glibc detected *** display: double free or corruption (fasttop): 0x0804edc8 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7965ab0]
/lib/libc.so.6(__libc_free+0x84)[0xb79670f4]
/usr/lib/libMagick.so.10(RelinquishMagickMemory+0x21)[0xb7eabea1]
/usr/lib/libWand.so.10(DisplayImageCommand+0x20b9)[0xb7d6a2d9]
display[0x8048a44]
/lib/libc.so.6(__libc_start_main+0xd8)[0xb7918808]
display[0x8048851]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:08 63458 /usr/bin/display
08049000-0804a000 rw-p 00000000 08:08 63458 /usr/bin/display
0804a000-0808c000 rw-p 0804a000 00:00 0 [heap]
b6f1f000-b7220000 rw-p b6f1f000 00:00 0
b7700000-b7721000 rw-p b7700000 00:00 0
b7721000-b7800000 ---p b7721000 00:00 0
b7850000-b785a000 r-xp 00000000 08:08 9760 /usr/lib/libgcc_s.so.1
b785a000-b785b000 rw-p 00009000 08:08 9760 /usr/lib/libgcc_s.so.1
b7872000-b7876000 r-xp 00000000 08:08 40472 /usr/lib/libXfixes.so.3.0.0
b7876000-b7877000 rw-p 00003000 08:08 40472 /usr/lib/libXfixes.so.3.0.0
b7877000-b787f000 r-xp 00000000 08:08 37411 /usr/lib/libXrender.so.1.3.0
b787f000-b7880000 rw-p 00007000 08:08 37411 /usr/lib/libXrender.so.1.3.0
b7880000-b7888000 r-xp 00000000 08:08 40482 /usr/lib/libXcursor.so.1.0.2
b7888000-b7889000 rw-p 00007000 08:08 40482 /usr/lib/libXcursor.so.1.0.2
b7889000-b7891000 r-xp 00000000 08:08 63425 /usr/lib/ImageMagick-6.2.9/modules-Q16/coders/jpeg.so
b7891000-b7892000 rw-p 00007000 08:08 63425 /usr/lib/ImageMagick-6.2.9/modules-Q16/coders/jpeg.so
b7892000-b78d9000 r--p 00000000 08:08 1089 /usr/lib/locale/locale-archive
b78d9000-b78db000 rw-p b78d9000 00:00 0
b78db000-b78df000 r-xp 00000000 08:08 35847 /usr/lib/libXdmcp.so.6.0.0
b78df000-b78e0000 rw-p 00003000 08:08 35847 /usr/lib/libXdmcp.so.6.0.0
b78e0000-b78e2000 r-xp 00000000 08:08 35831 /usr/lib/libXau.so.6.0.0
b78e2000-b78e3000 rw-p 00001000 08:08 35831 /usr/lib/libXau.so.6.0.0
b78e3000-b7901000 r-xp 00000000 08:08 37806 /usr/lib/libexpat.so.0.5.0
b7901000-b7903000 rw-p 0001d000 08:08 37806 /usr/lib/libexpat.so.0.5.0
b7903000-b7a1a000 r-xp 00000000 08:08 1117 /lib/libc-2.4.so
b7a1a000-b7a1c000 r--p 00116000 08:08 1117 /lib/libc-2.4.so
b7a1c000-b7a1e000 rw-p 00118000 08:08 1117 /lib/libc-2.4.so
b7a1e000-b7a21000 rw-p b7a1e000 00:00 0
b7a21000-b7a44000 r-xp 00000000 08:08 1139 /lib/libm-2.4.so
b7a44000-b7a46000 rw-p 00022000 08:08 1139 /lib/libm-2.4.so
b7a46000-b7a47000 rw-p b7a46000 00:00 0
b7a47000-b7b2f000 r-xp 00000000 08:08 36123 /usr/lib/libX11.so.6.2.0
b7b2f000-b7b33000 rw-p 000e8000 08:08 36123 /usr/lib/libX11.so.6.2.0
b7b33000-b7b48000 r-xp 00000000 08:08 35803 /usr/lib/libICE.so.6.3.0
b7b48000-b7b49000 rw-p 00014000 08:08 35803 /usr/lib/libICE.so.6.3.0
b7b49000-b7b4b000 rw-p b7b49000 00:00 0
b7b4b000-b7b53000 r-xp 00000000 08:08 35816 /usr/lib/libSM.so.6.0.0
b7b53000-b7b54000 rw-p 00007000 08:08 35816 /usr/lib/libSM.so.6.0.0
b7b54000-b7b56000 r-xp 00000000 08:08 1125 /lib/libdl-2.4.so
b7b56000-b7b58000 rw-p 00001000 08:08 1125 /lib/libdl-2.4.so
b7b58000-b7b69000 r-xp 00000000 08:08 13746 /usr/lib/libz.so.1.2.3
b7b69000-b7b6a000 rw-p 00011000 08:08 13746 /usr/lib/libz.so.1.2.3
b7b6a000-b7bd4000 r-xp 00000000 08:08 37267 /usr/lib/libfreetype.so.6.3.8
b7bd4000-b7bd7000 rw-p 0006a000 08:08 37267 /usr/lib/libfreetype.so.6.3.8
b7bd7000-b7bd8000 rw-p b7bd7000 00:00 0
b7bd8000-b7be7000 r-xp 00000000 08:08 1137 /lib/libpthread-2.4.so
b7be7000-b7be9000 rw-p 0000e000 08:08 1137 /lib/libpthread-2.4.so
b7be9000-b7beb000 rw-p b7be9000 00:00 0
b7beb000-b7bfa000 r-xp 00000000 08:08 13546 /lib/libbz2.so.1.0.3
b7bfa000-b7bfb000 rw-p 0000e000 08:08 13546 /lib/libbz2.so.1.0.3
b7bfb000-b7c46000 r-xp 00000000 08:08 36751 /usr/lib/libXt.so.6.0.0
b7c46000-b7c49000 rw-p 0004b000 08:08 36751 /usr/lib/libXt.so.6.0.0
b7c49000-b7c4a000 rw-p b7c49000 00:00 0
b7c4a000-b7c57000 r-xp 00000000 08:08 37129 /usr/lib/libXext.so.6.4.0
b7c57000-b7c58000 rw-p 0000c000 08:08 37129 /usr/lib/libXext.so.6.4.0
b7c58000-b7c81000 r-xp 00000000 08:08 37835 /usr/lib/libfontconfig.so.1.0.4
b7c81000-b7c86000 rw-p 00029000 08:08 37835 /usr/lib/libfontconfig.so.1.0.4
b7c86000-b7c87000 rw-p b7c86000 00:00 0
b7c87000-b7ca6000 r-xp 00000000 08:08 19744 /usr/lib/libjpeg.so.62.0.0
b7ca6000-b7ca7000 rw-p 0001e000 08:08 19744 /usr/lib/libjpeg.so.62.0.0
b7ca7000-b7ca8000 rw-p b7ca7000 00:00 0
b7ca8000-b7cfa000 r-xp 00000000 08:08 39542 /usr/lib/libtiff.so.3.8.2
b7cfa000-b7cfc000 rw-p 00052000 08:08 39542 /usr/lib/libtiff.so.3.8.2
b7cfc000-b7d2a000 r-xp 00000000 08:08 52877 /usr/lib/liblcms.so.1.0.15
b7d2a000-b7d2c000 rw-p 0002d000 08:08 52877 /usr/lib/liblcms.so.1.0.15
b7d2c000-b7d2e000 rw-p b7d2c000 00:00 0
b7d2e000-b7de5000 r-xp 00000000 08:08 63229 /usr/lib/libWand.so.10.0.4
b7de5000-b7de7000 rw-p 000b6000 08:08 63229 /usr/lib/libWand.so.10.0.4
b7de7000-b7f5b000 r-xp 00000000 08:08 14606 /usr/lib/libMagick.so.10.0.4
b7f5b000-b7fa2000 rw-p 00174000 08:08 14606 /usr/lib/libMagick.so.10.0.4
b7fa2000-b7fba000 rw-p b7fa2000 00:00 0
b7fd1000-b7fd2000 rw-p b7fd1000 00:00 0
b7fd2000-b7fec000 r-xp 00000000 08:08 1135 /lib/ld-2.4.so
b7fec000-b7fed000 r--p 00019000 08:08 1135 /lib/ld-2.4.so
b7fed000-b7fee000 rw-p 0001a000 08:08 1135 /lib/ld-2.4.so
bfac9000-bfae1000 rw-p bfac9000 00:00 0 [stack]
ffffe000-fffff000 ---p 00000000 00:00 0 [vdso]
Aborted
Comment by Jan de Groot (JGC) - Wednesday, 06 September 2006, 08:17 GMT
Could you attach the affected image? I couldn't reproduce it with the images I have on my system.
Comment by robin wood (dninja) - Wednesday, 06 September 2006, 08:30 GMT
It does it on all my wallpapers. Display on its own shows them fine, it is when the -window root is used that the problem happens. I got the command line I'm using from fbsetbg, that crashes and suggests running the display command with the given params to find out what is causing the error.

I'll add an image but I don't think it will help, if you are not getting the problem I'd guess it could be something to do with something else on the system.

I'm running fluxbox which is starting through gdm, that may be somewhere to start.
   imite.jpg (289.8 KiB)
Comment by Jan de Groot (JGC) - Friday, 22 September 2006, 18:01 GMT
I can reproduce the problem you're describing. There's actually two things going on:
- a local-scoped variable is assigned to some struct member, looks like gcc loses track of it and optimizes it with a nice free() when the function exits. This happens when you just run "display -window root -geometry 1x1" without any filename, generates a glibc backtrace
- imagemagick is playing with the argv and argc that are assigned on startup time to make sure wildcards get expanded and checked before passing to the functions it can do. These variables are free'd, however, also the ones assigned at startup that get free'd by the system when main() exits.

Problem one is is easy fixable: just duplicate the string that is going to be assigned to the struct and free the original one, problem solved
Problem two is a bit problematic: I can't know which commandline option gets free'd by the the system and I don't know which commandline options are assigned later by the code itself. It's either rewriting the whole code, or leave users with a memory leak on all imagemagick commandline utilities.
Comment by robin wood (dninja) - Friday, 22 September 2006, 20:39 GMT
How come this has only just come up? Has the bug always been in and if not could you roll back that bit of the code?

My selfish view is to have the memory leak as I only run it once to set my background.

Glad you tracked it down either way.

Loading...