Page 1 of 2

SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-11T03:45:24-07:00
by JodieC
Source file: https://www.dropbox.com/s/oxsjh2dcfmn6oq6/36b70be2?dl=0
To reproduce:

Code: Select all

convert 36b70be2 png:/dev/null
Output:

Code: Select all

Aborted (core dumped)
System Details:
AMD64
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty

ImageMagick 6.9.0-1 Beta compiled from source.
Unsurprisingly crashed on IM 6.9.0-0 from Ubuntu.

Found with American Fuzzy Lop ( http://lcamtuf.coredump.cx/afl/ )

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-11T04:57:59-07:00
by magick
We cannot reproduce the problem. We're getting expected results:
  • -> convert -version
    Version: ImageMagick 6.9.0-1 Q16 x86_64 2014-12-10 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
    Features: DPC Modules OpenMP
    Delegates (built-in): bzlib djvu fftw fontconfig freetype fpx jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib

    -> convert 36b70be2 png:/dev/null
    convert: memory allocation failed `36b70be2' @ error/pnm.c/ReadPNMImage/635.
    convert: no images defined `png:/dev/null' @ error/convert.c/ConvertImageCommand/3210.

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-11T16:38:03-07:00
by JodieC
It crashes the same way on my laptop, running IM 6.7.7.10-6ubuntu3.

My 6.9.0-1 Beta was downloaded from http://www.imagemagick.org/download/bet ... -1.tar.bz2 ... are you by any chance running something newer on your system? I want to test with what you test with...

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-11T18:20:04-07:00
by magick
The very latest releases are on the ImageMagick development host @ http://magick.imagemagick.org/download/beta/. We tried your image on two other computers (CentOS 5 and Fedora) and they both exited gracefully with an exception as expected.

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-13T12:46:07-07:00
by broucaries
It crash here on debian system jessie.

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-13T12:47:29-07:00
by broucaries
Backtrace

Code: Select all

#0  0x00007ffff7067107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff70684e8 in __GI_abort () at abort.c:89
#2  0x00007ffff70a5044 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff7197c60 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff70aa81e in malloc_printerr (action=1, str=0x7ffff7193d9f "malloc(): memory corruption", ptr=<optimized out>) at malloc.c:4996
#4  0x00007ffff70ac499 in _int_malloc (av=0x7ffff73d5620 <main_arena>, bytes=176) at malloc.c:3447
#5  0x00007ffff70acffb in _int_memalign (av=0x7ffff73d5620 <main_arena>, alignment=64, bytes=6, bytes@entry=64) at malloc.c:4403
#6  0x00007ffff70ae334 in _mid_memalign (alignment=64, bytes=64, address=<optimized out>) at malloc.c:3106
#7  0x00007ffff70afe52 in __posix_memalign (memptr=0x7ffffffe7af0, alignment=18446744073709551615, size=13213, size@entry=64) at malloc.c:5018
#8  0x00007ffff7ab1d48 in AcquireSemaphoreMemory (count=1, quantum=64) at ../../magick/semaphore.c:153
#9  AllocateSemaphoreInfo () at ../../magick/semaphore.c:199
#10 0x00007ffff7a2ffa0 in NewLinkedList (capacity=capacity@entry=0) at ../../magick/hashmap.c:1376
#11 0x00007ffff7a0df92 in InitializeExceptionInfo (exception=0x61e2d0) at ../../magick/exception.c:675
#12 0x00007ffff7a0e250 in AcquireExceptionInfo () at ../../magick/exception.c:109
#13 0x00007ffff7a472b5 in GetLocaleMessage (tag=tag@entry=0x7ffffffe8ba0 "Exception/Resource/Limit/Error/PixelCacheAllocationFailed") at ../../magick/locale.c:762
#14 0x00007ffff7a0db11 in GetLocaleExceptionMessage (severity=<optimized out>, tag=0x7ffff7b12826 "PixelCacheAllocationFailed") at ../../magick/exception.c:591
#15 0x00007ffff7a0e51b in ThrowMagickExceptionList (exception=0x622eb8, module=0x7ffff7b12720 "../../magick/cache.c", function=0x7ffff7b12f54 <__func__.13460> "OpenPixelCache", line=3564, 
    severity=ErrorException, tag=<optimized out>, format=0x7ffff7b27809 "`%s'", operands=0x7ffffffecc50) at ../../magick/exception.c:1020
#16 0x00007ffff7a0e208 in ThrowMagickException (exception=<optimized out>, module=<optimized out>, function=<optimized out>, line=<optimized out>, severity=<optimized out>, 
    tag=<optimized out>, format=0x7ffff7b27809 "`%s'") at ../../magick/exception.c:1057
#17 0x00007ffff797a958 in OpenPixelCache (image=0x61fc40, mode=IOMode, exception=0x604e10) at ../../magick/cache.c:3563
#18 0x00007ffff795e722 in GetImagePixelCache (image=0x61fc40, clone=MagickFalse, exception=0x604e10) at ../../magick/cache.c:1582
#19 0x00007ffff795f478 in QueueAuthenticPixelCacheNexus (image=0x61fc40, x=0, y=0, columns=6148914691236517207, rows=3474635097426505776, rows@entry=1, clone=clone@entry=MagickFalse, 
    nexus_info=0x61f330, exception=0x604e10) at ../../magick/cache.c:3977
#20 0x00007ffff797d8b1 in QueueAuthenticPixels (image=0x61fc40, x=0, y=0, columns=6148914691236517207, rows=1, exception=0x604e10) at ../../magick/cache.c:4138
#21 0x00007ffff3c22e76 in ReadPNMImage (image_info=0x339d, exception=0x339d) at ../../coders/pnm.c:677
#22 0x00007ffff79a89c8 in ReadImage (image_info=0x609250, exception=0x339d, exception@entry=0x604e10) at ../../magick/constitute.c:547
#23 0x00007ffff79a9a6b in ReadImages (image_info=0x609250, exception=0x604e10) at ../../magick/constitute.c:853
#24 0x00007ffff7639e11 in ConvertImageCommand (image_info=0x2, argc=3, argv=0x603010, metadata=0xffffffffffffffff, exception=0x3038623632363030) at ../../wand/convert.c:622
#25 0x00007ffff76a5ee7 in MagickCommandGenesis (image_info=image_info@entry=0x604f90, command=0x400810 <ConvertImageCommand@plt>, argc=argc@entry=3, argv=argv@entry=0x7fffffffe108, 
    metadata=metadata@entry=0x0, exception=exception@entry=0x604e10) at ../../wand/mogrify.c:168
#26 0x0000000000400887 in ConvertMain (argv=0x7fffffffe108, argc=3) at ../../utilities/convert.c:81
#27 main (argc=3, argv=0x7fffffffe108) at ../../utilities/convert.c:92

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-13T15:03:54-07:00
by magick
We can reproduce the problem you posted and have a patch in ImageMagick 6.9.0-1 Beta, available by sometime tomorrow. Thanks.

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-13T19:04:17-07:00
by magick
Can you put some debug statements around magick/cache.c/153? Your stack trace shows
  • __posix_memalign (memptr=0x7ffffffe7af0, alignment=18446744073709551615, size=13213, size@entry=64) at malloc.c:5018
Notice a huge alignment which causes an exception in the system call. We call posix_memalign() with an alignment of 64, not sure how it was boosted to 18446744073709551615. On our Fedora / CentOS systems, the alignment to posix_memalign() is 64 as expected.

Try undefining MAGICKCORE_HAVE_POSIX_MEMALIGN in magick/magick-baseconfig.h and rerun the test. Does it work now? Perhaps there is a problem with posix_memalign() under Debian.

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T06:53:09-07:00
by broucaries
18446744073709551615=2^64 - 1 or signed -1 in 2 complement.

Will try to get parameter before. I will not recompile but use debugger it is quicker

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T07:02:04-07:00
by broucaries
in AcquireSemaphoreMemory alignment = 64.

Bastien

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T07:05:14-07:00
by magick
Next, replace posix_memalign() with a call to malloc(). The memory does not need to be aligned, its just an optimization. Does ImageMagick gracefully exit now? Our goal is to see if the problem is with posix_memalign() since that is where the stack-trace fails.

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T07:14:31-07:00
by broucaries
Valgrind give me another picture. It seems malloc area is smashed and confuse gdb macro.... Will try to run valgrind under gdb

Code: Select all

==22848== Memcheck, a memory error detector
==22848== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==22848== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==22848== Command: convert 36b70be2?dl=0 png:/dev/null
==22848== 
==22848== Invalid write of size 8
==22848==    at 0x4C2D943: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:915)
==22848==    by 0x4E8809C: ReadBlob (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x91EFE2D: ReadPNMImage (in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/modules-Q16/coders/pnm.so)
==22848==    by 0x4EBF9C7: ReadImage (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x4EC0A6A: ReadImages (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x5334E10: ConvertImageCommand (in /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0)
==22848==    by 0x53A0EE6: MagickCommandGenesis (in /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0)
==22848==    by 0x400886: main (in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/convert)
==22848==  Address 0x8eb6e18 is 8 bytes inside a block of size 11 alloc'd
==22848==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==22848==    by 0x4F9758D: SetQuantumDepth (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x4F97736: AcquireQuantumInfo (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x91EFDC2: ReadPNMImage (in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/modules-Q16/coders/pnm.so)
==22848==    by 0x4EBF9C7: ReadImage (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x4EC0A6A: ReadImages (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x5334E10: ConvertImageCommand (in /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0)
==22848==    by 0x53A0EE6: MagickCommandGenesis (in /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0)
==22848==    by 0x400886: main (in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/convert)
==22848== 
==22848== Invalid read of size 1
==22848==    at 0x4F96CFD: DestroyQuantumPixels (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x4F96DE2: DestroyQuantumInfo (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x91F1E00: ReadPNMImage (in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/modules-Q16/coders/pnm.so)
==22848==    by 0x4EBF9C7: ReadImage (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x4EC0A6A: ReadImages (in /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0)
==22848==    by 0x5334E10: ConvertImageCommand (in /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0)
==22848==    by 0x53A0EE6: MagickCommandGenesis (in /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0)
==22848==    by 0x400886: main (in /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/convert)
==22848==  Address 0xa29ca580a5a5a589 is not stack'd, malloc'd or (recently) free'd
==22848== 
==22848== 
==22848== HEAP SUMMARY:
==22848==     in use at exit: 195,047 bytes in 2,996 blocks
==22848==   total heap usage: 3,955 allocs, 959 frees, 536,756 bytes allocated
==22848== 
==22848== LEAK SUMMARY:
==22848==    definitely lost: 77 bytes in 7 blocks
==22848==    indirectly lost: 0 bytes in 0 blocks
==22848==      possibly lost: 0 bytes in 0 blocks
==22848==    still reachable: 194,970 bytes in 2,989 blocks
==22848==         suppressed: 0 bytes in 0 blocks
==22848== Rerun with --leak-check=full to see details of leaked memory
==22848== 
==22848== For counts of detected and suppressed errors, rerun with: -v
==22848== ERROR SUMMARY: 29 errors from 2 contexts (suppressed: 0 from 0)
Abandon

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T07:20:05-07:00
by broucaries
Ok here is backtrace I will try to give you some information
  • bt
    #0 0x0000000004c2d943 in _vgr20180ZZ_libcZdsoZa_memcpyZAZAGLIBCZu2Zd14 (dst=0x8eb6e10, src=<optimized out>, len=<optimized out>) at ../shared/vg_replace_strmem.c:915
    #1 0x0000000004e8809d in memcpy (__len=360, __src=<optimized out>, __dest=0x8eb6e10) at /usr/include/x86_64-linux-gnu/bits/string3.h:51
    #2 ReadBlob (image=0x8e50910, length=6148914691236517207, data=0x8eb6e10 "") at ../../magick/blob.c:2968
    #3 0x00000000091efe2e in ReadPNMImage (image_info=0x8eb6e10, exception=0x4e6dd38) at ../../coders/pnm.c:661
    #4 0x0000000004ebf9c8 in ReadImage (image_info=0x8e0cb60, exception=0x4e6dd38, exception@entry=0x8e05f20) at ../../magick/constitute.c:547
    #5 0x0000000004ec0a6b in ReadImages (image_info=0x8e0cb60, exception=0x8e05f20) at ../../magick/constitute.c:853
    #6 0x0000000005334e11 in ConvertImageCommand (image_info=0x2, argc=3, argv=0x8df95a0, metadata=0x40490e0, exception=0x168) at ../../wand/convert.c:622
    #7 0x00000000053a0ee7 in MagickCommandGenesis (image_info=image_info@entry=0x8e06220, command=0x400810 <ConvertImageCommand@plt>, argc=argc@entry=3, argv=argv@entry=0xfff000058,
    metadata=metadata@entry=0x0, exception=exception@entry=0x8e05f20) at ../../wand/mogrify.c:168
    #8 0x0000000000400887 in ConvertMain (argv=0xfff000058, argc=3) at ../../utilities/convert.c:81
    #9 main (argc=3, argv=0xfff000058) at ../../utilities/convert.c:92

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T07:23:42-07:00
by broucaries
Ok more information

Code: Select all

(gdb) up                                                                                                                                                                                        
#1  0x0000000004e8809d in memcpy (__len=360, __src=<optimized out>, __dest=0x8eb6e10) at /usr/include/x86_64-linux-gnu/bits/string3.h:51                                                        
51        return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));                                                                                                                
(gdb) up
#2  ReadBlob (image=0x8e50910, length=6148914691236517207, data=0x8eb6e10 "") at ../../magick/blob.c:2968
2968    ../../magick/blob.c: Aucun fichier ou dossier de ce type.
(gdb) display *image
1: *image = {storage_class = DirectClass, colorspace = GRAYColorspace, compression = UndefinedCompression, quality = 0, orientation = UndefinedOrientation, taint = MagickFalse, 
  matte = MagickFalse, columns = 6148914691236517207, rows = 55, depth = 6, colors = 0, colormap = 0x0, background_color = {blue = 65535, green = 65535, red = 65535, opacity = 0}, 
  border_color = {blue = 57311, green = 57311, red = 57311, opacity = 0}, matte_color = {blue = 48573, green = 48573, red = 48573, opacity = 0}, gamma = 0.45454545454545453, chromaticity = {
    red_primary = {x = 0, y = 0, z = 0}, green_primary = {x = 0, y = 0, z = 0}, blue_primary = {x = 0, y = 0, z = 0}, white_point = {x = 0, y = 0, z = 0}}, 
  rendering_intent = UndefinedIntent, profiles = 0x0, units = UndefinedResolution, montage = 0x0, directory = 0x0, geometry = 0x0, offset = 0, x_resolution = 0, y_resolution = 0, page = {
    width = 0, height = 0, x = 0, y = 0}, extract_info = {width = 0, height = 0, x = 0, y = 0}, tile_info = {width = 0, height = 0, x = 0, y = 0}, bias = 0, blur = 1, fuzz = 0, 
  filter = UndefinedFilter, interlace = NoInterlace, endian = UndefinedEndian, gravity = UndefinedGravity, compose = OverCompositeOp, dispose = UnrecognizedDispose, clip_mask = 0x0, 
  scene = 0, delay = 0, ticks_per_second = 100, iterations = 0, total_colors = 0, start_loop = 0, error = {mean_error_per_pixel = 0, normalized_mean_error = 0, normalized_maximum_error = 0}, 
  timer = {user = {start = 1.7, stop = 0, total = 0}, elapsed = {start = 17261227.41, stop = 0, total = 0}, state = RunningTimerState, signature = 2880220587}, progress_monitor = 0x0, 
  client_data = 0x0, cache = 0x8e54b90, attributes = 0x0, ascii85 = 0x0, blob = 0x8e57620, filename = "36b70be2?dl=0", '\000' <repeats 4082 times>, 
  magick_filename = "36b70be2?dl=0", '\000' <repeats 4082 times>, magick = "PGM", '\000' <repeats 4092 times>, magick_columns = 0, magick_rows = 0, exception = {severity = ErrorException, 
    error_number = 0, reason = 0x8eb6c40 "Échec allocation du cache pixel `36b70be2?dl=0' @ error/cache.c/OpenPixelCache/3564", description = 0x0, exceptions = 0x8e53d10, 
    relinquish = MagickFalse, semaphore = 0x8e53f00, signature = 2880220587}, debug = MagickFalse, reference_count = 1, semaphore = 0x8e57ec0, color_profile = {name = 0x0, length = 0, 
    info = 0x0, signature = 0}, iptc_profile = {name = 0x0, length = 0, info = 0x0, signature = 0}, generic_profile = 0x0, generic_profiles = 0, signature = 2880220587, previous = 0x0, 
  list = 0x0, next = 0x0, interpolate = UndefinedInterpolatePixel, black_point_compensation = MagickFalse, transparent_color = {blue = 0, green = 0, red = 0, opacity = 65535}, mask = 0x0, 
  tile_offset = {width = 0, height = 0, x = 0, y = 0}, properties = 0x0, artifacts = 0x8e57f70, type = GrayscaleType, dither = MagickTrue, extent = 0, ping = MagickFalse, channels = 0, 
  timestamp = 1418566726, intensity = UndefinedPixelIntensityMethod, duration = 0}
(gdb) up
#3  0x00000000091efe2e in ReadPNMImage (image_info=0x8eb6e10, exception=0x4e6dd38) at ../../coders/pnm.c:661
(gdb) display *image_info
2: *image_info = {compression = 27607040, orientation = 2616631973, temporary = (unknown: 11206656), adjoin = MagickFalse, affirm = MagickFalse, antialias = MagickFalse, size = 0x0, 
  extract = 0x0, page = 0x0, scenes = 0x0, scene = 0, number_scenes = 0, depth = 112, interlace = 144, endian = UndefinedEndian, units = UndefinedResolution, quality = 0, 
  sampling_factor = 0x0, server_name = 0x0, font = 0x0, texture = 0x0, density = 0x0, pointsize = 0, fuzz = 3.3402221020410987e-316, background_color = {blue = 0, green = 0, red = 0, 
    opacity = 0}, border_color = {blue = 44459, green = 43948, red = 0, opacity = 0}, matte_color = {blue = 0, green = 0, red = 0, opacity = 0}, dither = MagickFalse, 
  monochrome = MagickFalse, colors = 0, colorspace = UndefinedColorspace, type = UndefinedType, preview_type = UndefinedPreview, group = 144, ping = (unknown: 128), verbose = MagickFalse, 
  view = 0x0, authenticate = 0x0, channel = UndefinedChannel, attributes = 0x8eb6e10, options = 0x8eb6f90, progress_monitor = 0x8eb6fe0, client_data = 0x8eb7030, cache = 0x8eb7080, 
  stream = 0x8eb70d0, file = 0x8eb7120, blob = 0x8eb7170, length = 0, 
  magick = '\000' <repeats 16 times>, "\200\000\000\000\000\000\000\000P", '\000' <repeats 41 times>, "\253", '\000' <repeats 29 times>, "P\000\000\000\000\000\000\000P", '\000' <repeats 41 times>, "\253", '\000' <repeats 29 times>, "P\000\000\000\000\000\000\000P", '\000' <repeats 41 times>..., unique = '\000' <repeats 4095 times>, zero = '\000' <repeats 4095 times>, 
  filename = '\000' <repeats 4095 times>, debug = MagickFalse, tile = 0x0, subimage = 0, subrange = 0, pen = {blue = 0, green = 0, red = 0, opacity = 0}, signature = 0, 
  virtual_pixel_method = UndefinedVirtualPixelMethod, transparent_color = {blue = 0, green = 0, red = 0, opacity = 0}, profile = 0x0, synchronize = MagickFalse}
(gdb) display *exception
3: *exception = {severity = UndefinedException, error_number = 0, reason = 0x45fc48 <error: Cannot access memory at address 0x45fc48>, 
  description = 0x45700000007 <error: Cannot access memory at address 0x45700000007>, exceptions = 0x0, relinquish = (unknown: 4586576), semaphore = 0x34600000007, signature = 0}

Re: SIGABRT convert - IM 6.9.0-1 - 36b70be2

Posted: 2014-12-14T08:15:34-07:00
by magick
Add

Code: Select all

  if (SyncImagePixelCache(image,&image->exception) == MagickFalse)
    return(MagickFalse);
As the first line of magick/quantum.c/AcquireQuantumInfo() (just before quantum_info=...). Does that fix the problem? Alternatively, is there a Debian system available somewhere where I could login and debug this problem?