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@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@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,