I have installed printer drivers for a label printer according to directions here: http://www.linux-hardware-guide.com/2014-10-22-brother-ql-700-label-printer-usb

One thing I noticed is that the printer driver depends on 32-bit libstdc++

I'm able to print a png with some transparency from the Gnome Image Viewer program that comes w/Ubuntu, but when I'm trying to print the same image from either Java or lpr with the same behavior the job fails and sits in the queue, with a "Failed to send data" status.

Failed to Send Data

In the cups error_log, I'm able to see that imagetopdf is crashing.

D [21/Mar/2017:23:58:37 -0400] [Job 37] Loading USB quirks from \"/usr/share/cups/usb\".
D [21/Mar/2017:23:58:37 -0400] [Job 37] Loaded 131 quirks.
D [21/Mar/2017:23:58:37 -0400] [Job 37] Printing on printer with URI: usb://Brother/QL-700?serial=000G6Z433508
D [21/Mar/2017:23:58:37 -0400] [Job 37] libusb_get_device_list=8
D [21/Mar/2017:23:58:37 -0400] [Job 37] STATE: +connecting-to-device
D [21/Mar/2017:23:58:37 -0400] [Job 37] Page = 82x255; 4,8 to 78,246
D [21/Mar/2017:23:58:37 -0400] [Job 37] PNG image: 250x250x8, color_type=3 (RGB+PALETTE)
D [21/Mar/2017:23:58:37 -0400] [Job 37] *** Error in `Brother-QL-700\': free(): invalid next size (normal): 0x0000000000fdd5e0 ***
D [21/Mar/2017:23:58:37 -0400] [Job 37] ======= Backtrace: =========
D [21/Mar/2017:23:58:37 -0400] [Job 37] /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fd2b1eae7e5]
D [21/Mar/2017:23:58:37 -0400] [Job 37] /lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7fd2b1eb6e0a]
D [21/Mar/2017:23:58:37 -0400] [Job 37] /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fd2b1eba98c]
D [21/Mar/2017:23:58:37 -0400] [Job 37] /usr/lib/x86_64-linux-gnu/libcupsfilters.so.1(_cupsImageReadPNG+0x3c7)[0x7fd2b220f597]
D [21/Mar/2017:23:58:37 -0400] [Job 37] /usr/lib/x86_64-linux-gnu/libcupsfilters.so.1(cupsImageOpen+0x421)[0x7fd2b2209801]
D [21/Mar/2017:23:58:37 -0400] [Job 37] Brother-QL-700[0x401e40]
D [21/Mar/2017:23:58:37 -0400] [Job 37] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fd2b1e57830]
D [21/Mar/2017:23:58:37 -0400] [Job 37] Brother-QL-700[0x404629]
D [21/Mar/2017:23:58:37 -0400] [Job 37] ======= Memory map: ========
D [21/Mar/2017:23:58:37 -0400] [Job 37] 00400000-00409000 r-xp 00000000 08:01 55837711                           /usr/lib/cups/filter/imagetopdf

... memory map elided

D [21/Mar/2017:23:58:37 -0400] [Job 37] 7ffdc1acb000-7ffdc1acd000 r-xp 00000000 00:00 0                          [vdso]
D [21/Mar/2017:23:58:37 -0400] [Job 37] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
D [21/Mar/2017:23:58:37 -0400] [Job 37] STATE: -connecting-to-device
D [21/Mar/2017:23:58:37 -0400] [Job 37] Printer found with device ID: MFG:Brother;CMD:PT-CBP;MDL:QL-700;CLS:PRINTER; Device URI: usb://Brother/QL-700?serial=000G6Z433508
D [21/Mar/2017:23:58:37 -0400] [Job 37] Device protocol: 2
D [21/Mar/2017:23:58:37 -0400] [Job 37] Sending data to printer.
D [21/Mar/2017:23:58:37 -0400] [Job 37] Set job-printer-state-message to "Sending data to printer.", current level=INFO
D [21/Mar/2017:23:58:37 -0400] [Job 37] Usage: file [-bcEhikLlNnprsvzZ0] [--apple] [--extension] [--mime-encoding] [--mime-type]
D [21/Mar/2017:23:58:37 -0400] [Job 37] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
D [21/Mar/2017:23:58:37 -0400] [Job 37] file -C [-m magicfiles]
D [21/Mar/2017:23:58:37 -0400] [Job 37] file [--help]
D [21/Mar/2017:23:58:37 -0400] [Job 37] PID 27534 (/usr/lib/cups/filter/imagetopdf) crashed on signal 6.
D [21/Mar/2017:23:58:37 -0400] [Job 37] Hint: Try setting the LogLevel to "debug" to find out more.

I've hooked the printer up to a mac and installed the appropriate drivers and all is running OK there if I print with lpr, although I haven't tried the Java yet on the mac, but that's not important.

One thing that I thought might be an issue is that imagetopdf is clearly using the 64-bit libstdc++, but if it's a separate version then the fact that it's separate from the printer driver should mean that it shouldn't collide like that. Is it possible that installing the 32-bit libstdc++ could have borked something else up though?

Any idea what is going on here and how it might be fixed?


  • I saw a similar crash with a different Brother MFP printer (which seems to use the some of the same code in its driver). I spent quite a while on it, but ultimately came to the conclusion that the driver is crap, removed Brother from the vendor list, and replaced the printer. – Michael Hampton Mar 22 '17 at 5:25
  • @MichaelHampton Is imagetopdf is part of the driver package or part of cups? – Bill Mar 22 '17 at 5:29
  • imagetopdf is part of cups but it's probably not the problem; you'd likely get the same crash regardless of what you printed or its source. I ultimately traced the crash into cupswrapper, which is Brother's very old wrapper over its truly ancient lpr driver, but couldn't go any further with it for obvious reasons. – Michael Hampton Mar 22 '17 at 5:34
  • @MichaelHampton Thank you for the feedback. I wonder what the Gnome Image Viewer program does differently though. Because it can print. – Bill Mar 22 '17 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.