[Bug 1407911] Re: Infinite loop when converting a Asana Math glyph to image
fracting
fracting at gmail.com
Tue Jan 6 09:54:47 UTC 2015
I looped over Asana-Math font, and glyph U+1d763 is the only one cause
the infinite loop, maybe the font itself is buggy, but it will still be
nice to avoid infinite loop in imagemagick's side.
$ sha1sum Asana-Math.ttf
c2214f437d07b9b078c1e0027c5d4069dcf2255a Asana-Math.ttf
$ ls -l Asana-Math.ttf
-rw-r----- 1 fracting fracting 499040 1月 6 13:11 Asana-Math.ttf
Here are three backtraces:
Loaded symbols for /usr/lib/i386-linux-gnu/ImageMagick-6.7.7/modules-Q16/coders/label.so
0xb76e2c7c in __kernel_vsyscall ()
(gdb) bt
#0 0xb76e2c7c in __kernel_vsyscall ()
#1 0xb72677a2 in do_pwrite64 (offset=1879049088, count=268435584,
buf=0xa65f5008, fd=3) at ../sysdeps/unix/sysv/linux/pwrite64.c:41
#2 __libc_pwrite64 (fd=3, buf=0xa65f5008, count=268435584, offset=1879049088)
at ../sysdeps/unix/sysv/linux/pwrite64.c:57
#3 0xb73f6591 in WritePixelCacheRegion (cache_info=<optimized out>,
buffer=<optimized out>, length=<optimized out>, offset=<optimized out>)
at magick/cache.c:697
#4 WritePixelCachePixels (exception=<optimized out>,
nexus_info=<optimized out>, cache_info=<optimized out>)
at magick/cache.c:5651
#5 SyncAuthenticPixelCacheNexus (image=0x0, nexus_info=0x8991958,
exception=0x8984c80) at magick/cache.c:5275
#6 0xb73f805f in SyncCacheViewAuthenticPixels (cache_view=0x8987308,
exception=0x8984c80) at magick/cache-view.c:1005
#7 0xb74dd97b in SetImageBackgroundColor (image=0x8981ab8)
at magick/image.c:3003
#8 0xb76dcbd9 in ReadLABELImage (image_info=0x89786f0, exception=0x895add8)
at coders/label.c:195
#9 0xb74432b1 in ReadImage (image_info=0x895f6d0, exception=0x895add8)
at magick/constitute.c:590
#10 0xb744467d in ReadImages (image_info=0x895f6d0, exception=0x895add8)
at magick/constitute.c:901
---Type <return> to continue, or q <return> to quit---
#11 0xb72abfe5 in ConvertImageCommand (image_info=0xa, argc=11,
argv=0x895a798, metadata=0x0, exception=0x895add8) at wand/convert.c:601
#12 0xb73157ec in MagickCommandGenesis (image_info=0x895b058,
command=0x8048600 <ConvertImageCommand at plt>, argc=11, argv=0xbf88f0a4,
metadata=0x0, exception=0x895add8) at wand/mogrify.c:161
#13 0x08048678 in ConvertMain (argv=0xbf88f0a4, argc=<optimized out>)
at utilities/convert.c:81
#14 main (argc=11, argv=0xbf88f0a4) at utilities/convert.c:92
(gdb)
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0xb76e2c7c in __kernel_vsyscall ()
(gdb) bt
#0 0xb76e2c7c in __kernel_vsyscall ()
#1 0xb72677a2 in do_pwrite64 (offset=2415920256, count=268435584,
buf=0xa65f5008, fd=3) at ../sysdeps/unix/sysv/linux/pwrite64.c:41
#2 __libc_pwrite64 (fd=3, buf=0xa65f5008, count=268435584, offset=2415920256)
at ../sysdeps/unix/sysv/linux/pwrite64.c:57
#3 0xb73f6591 in WritePixelCacheRegion (cache_info=<optimized out>,
buffer=<optimized out>, length=<optimized out>, offset=<optimized out>)
at magick/cache.c:697
#4 WritePixelCachePixels (exception=<optimized out>,
nexus_info=<optimized out>, cache_info=<optimized out>)
at magick/cache.c:5651
#5 SyncAuthenticPixelCacheNexus (image=0x0, nexus_info=0x8991958,
exception=0x8984c80) at magick/cache.c:5275
#6 0xb73f805f in SyncCacheViewAuthenticPixels (cache_view=0x8987308,
exception=0x8984c80) at magick/cache-view.c:1005
#7 0xb74dd97b in SetImageBackgroundColor (image=0x8981ab8)
at magick/image.c:3003
#8 0xb76dcbd9 in ReadLABELImage (image_info=0x89786f0, exception=0x895add8)
at coders/label.c:195
#9 0xb74432b1 in ReadImage (image_info=0x895f6d0, exception=0x895add8)
at magick/constitute.c:590
#10 0xb744467d in ReadImages (image_info=0x895f6d0, exception=0x895add8)
at magick/constitute.c:901
---Type <return> to continue, or q <return> to quit---
#11 0xb72abfe5 in ConvertImageCommand (image_info=0xa, argc=11,
argv=0x895a798, metadata=0x0, exception=0x895add8) at wand/convert.c:601
#12 0xb73157ec in MagickCommandGenesis (image_info=0x895b058,
command=0x8048600 <ConvertImageCommand at plt>, argc=11, argv=0xbf88f0a4,
metadata=0x0, exception=0x895add8) at wand/mogrify.c:161
#13 0x08048678 in ConvertMain (argv=0xbf88f0a4, argc=<optimized out>)
at utilities/convert.c:81
#14 main (argc=11, argv=0xbf88f0a4) at utilities/convert.c:92
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0xb76e2c7c in __kernel_vsyscall ()
(gdb) bt
#0 0xb76e2c7c in __kernel_vsyscall ()
#1 0xb72677a2 in do_pwrite64 (offset=3221227008, count=268435584,
buf=0xa65f5008, fd=3) at ../sysdeps/unix/sysv/linux/pwrite64.c:41
#2 __libc_pwrite64 (fd=3, buf=0xa65f5008, count=268435584, offset=3221227008)
at ../sysdeps/unix/sysv/linux/pwrite64.c:57
#3 0xb73f6591 in WritePixelCacheRegion (cache_info=<optimized out>,
buffer=<optimized out>, length=<optimized out>, offset=<optimized out>)
at magick/cache.c:697
#4 WritePixelCachePixels (exception=<optimized out>,
nexus_info=<optimized out>, cache_info=<optimized out>)
at magick/cache.c:5651
#5 SyncAuthenticPixelCacheNexus (image=0x0, nexus_info=0x8991958,
exception=0x8984c80) at magick/cache.c:5275
#6 0xb73f805f in SyncCacheViewAuthenticPixels (cache_view=0x8987308,
exception=0x8984c80) at magick/cache-view.c:1005
#7 0xb74dd97b in SetImageBackgroundColor (image=0x8981ab8)
at magick/image.c:3003
#8 0xb76dcbd9 in ReadLABELImage (image_info=0x89786f0, exception=0x895add8)
at coders/label.c:195
#9 0xb74432b1 in ReadImage (image_info=0x895f6d0, exception=0x895add8)
at magick/constitute.c:590
#10 0xb744467d in ReadImages (image_info=0x895f6d0, exception=0x895add8)
at magick/constitute.c:901
---Type <return> to continue, or q <return> to quit---
#11 0xb72abfe5 in ConvertImageCommand (image_info=0xa, argc=11,
argv=0x895a798, metadata=0x0, exception=0x895add8) at wand/convert.c:601
#12 0xb73157ec in MagickCommandGenesis (image_info=0x895b058,
command=0x8048600 <ConvertImageCommand at plt>, argc=11, argv=0xbf88f0a4,
metadata=0x0, exception=0x895add8) at wand/mogrify.c:161
#13 0x08048678 in ConvertMain (argv=0xbf88f0a4, argc=<optimized out>)
at utilities/convert.c:81
#14 main (argc=11, argv=0xbf88f0a4) at utilities/convert.c:92
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to imagemagick in Ubuntu.
https://bugs.launchpad.net/bugs/1407911
Title:
Infinite loop when converting a Asana Math glyph to image
Status in imagemagick package in Ubuntu:
New
Bug description:
printf "\U1d763" | convert -font Asana-Math.ttf -background white
-fill black -pointsize 300 label:@- loop.png
The above command line causes an infinite loop for me, reproduced 100%.
It also creates a large temp file in /tmp until my system dead :(
BTW, imagemagick is a great tool, thanks for the great work!
ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: imagemagick 8:6.7.7.10+dfsg-4ubuntu1
ProcVersionSignature: Ubuntu 3.16.0-28.38-generic 3.16.7-ckt1
Uname: Linux 3.16.0-28-generic i686
NonfreeKernelModules: wl
ApportVersion: 2.14.7-0ubuntu8
Architecture: i386
CurrentDesktop: Unity
Date: Tue Jan 6 17:43:34 2015
InstallationDate: Installed on 2014-12-16 (21 days ago)
InstallationMedia: Ubuntu 14.10 "Utopic Unicorn" - Release i386 (20141022.1)
SourcePackage: imagemagick
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1407911/+subscriptions
More information about the foundations-bugs
mailing list