#81 CLP-500: SpliX Compression algorithm 0x0 does not exist

v2.0
open
nobody
None
5
2014-11-14
2012-01-08
No

Well, that compression algorithm haunts me.
When I try to print something remotely (via ipp, Generic Postscript Printer) on my CLP-500, I always get the message "SpliX Compression algorithm 0x0 does not exist". If I print the same .pdf locally on the machine the printer is attached to, it works (using splix from svn).

Thanks for any hints about the reason for this - or even better a solution :-)

Greetings,
mazumoto

This is the output from a failing (remote) job:
E [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Compression algorithm 0x0 does not exist
E [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Error while compressing the page. Check the previous message. Trying to print the other pages.
E [08/Jan/2012:06:58:43 +0100] [Job 41] Job stopped due to filter errors; please consult the error_log file for details.
D [08/Jan/2012:06:58:43 +0100] [Job 41] The following messages were recorded from 06:58:43 to 06:58:43
D [08/Jan/2012:06:58:43 +0100] [Job 41] Adding start banner page "none".
D [08/Jan/2012:06:58:43 +0100] [Job 41] Adding end banner page "none".
D [08/Jan/2012:06:58:43 +0100] [Job 41] File of type application/vnd.cups-postscript queued by "joker".
D [08/Jan/2012:06:58:43 +0100] [Job 41] hold_until=0
D [08/Jan/2012:06:58:43 +0100] [Job 41] Queued on "CLP-500" by "mazumoto".
D [08/Jan/2012:06:58:43 +0100] [Job 41] job-sheets=none,none
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[0]="CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[1]="41"
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[2]="joker"
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[3]="document1"
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[4]="1"
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[5]="job-uuid=urn:uuid:7b182e87-aeca-32b7-7b15-fd39aebc9fa9 job-originating-host-name=192.168.101.20 time-at-creation=1326002323 time-at-processing=1326002323 AP_D_InputSlot="
D [08/Jan/2012:06:58:43 +0100] [Job 41] argv[6]="/var/spool/cups/d00041-001"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[2]="CUPS_DOCROOT=/usr/share/cups/html"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[5]="CUPS_SERVERBIN=/usr/libexec/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[6]="CUPS_SERVERROOT=/etc/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[7]="CUPS_STATEDIR=/var/run/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[8]="HOME=/var/spool/cups/tmp"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[9]="PATH=/usr/libexec/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[10]="SERVER_ADMIN=root@nowehre.de"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[11]="SOFTWARE=CUPS/1.4.8"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[12]="TMPDIR=/var/spool/cups/tmp"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[13]="USER=root"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[14]="CUPS_SERVER=/var/run/cups/cups.sock"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[15]="CUPS_ENCRYPTION=IfRequested"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[16]="IPP_PORT=631"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[17]="CHARSET=utf-8"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[18]="LANG=en_IE.UTF-8"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[19]="PPD=/etc/cups/ppd/CLP-500.ppd"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[20]="RIP_MAX_CACHE=8m"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[21]="CONTENT_TYPE=application/vnd.cups-postscript"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[22]="DEVICE_URI=usb://Samsung/CLP-500?serial=2U21B1BX801031H."
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[23]="PRINTER_INFO=Samsung CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[24]="PRINTER_LOCATION=home"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[25]="PRINTER=CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[26]="CUPS_FILETYPE=document"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[27]="FINAL_CONTENT_TYPE=printer/CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] Started filter /usr/libexec/cups/filter/pstoqpdl (PID 23733)
D [08/Jan/2012:06:58:43 +0100] [Job 41] Started backend /usr/libexec/cups/backend/usb (PID 23734)
D [08/Jan/2012:06:58:43 +0100] [Job 41] print_device
D [08/Jan/2012:06:58:43 +0100] [Job 41] usb_find_busses=2
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX PS => SpliX filter V. 2.0.0 by Aurélien Croc (AP²C)
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX More information at: http://splix.ap2c.org
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX SpliX launched with PID=23735
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX raster launched with PID=23736
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX SpliX filter V. 2.0.0 by Aurélien Croc (AP²C)
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX More information at: http://splix.ap2c.org
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Compiled with: Threads=enabled (#=2, Cache=30), JBIG=enabled, BlackOptim=enabled
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Color printer Samsung CLP-500 with QPDL v. 1
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Cache controller thread loaded and is waiting for a job
D [08/Jan/2012:06:58:43 +0100] [Job 41] PPD uses qualifier 'CMYK.OFF.600dpi'
D [08/Jan/2012:06:58:43 +0100] [Job 41] Calling FindDeviceById(CLP-500)
D [08/Jan/2012:06:58:43 +0100] [Job 41] Failed to send: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.ColorManager was not provided by any .service files
D [08/Jan/2012:06:58:43 +0100] [Job 41] Failed to get profile filename!
D [08/Jan/2012:06:58:43 +0100] [Job 41] no profiles specified in PPD
D [08/Jan/2012:06:58:43 +0100] [Job 41] Set job-printer-state-message to "no profiles specified in PPD", current level=INFO
D [08/Jan/2012:06:58:43 +0100] [Job 41] Ghostscript command line: /usr/bin/gs -dQUIET -dPARANOIDSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -sDEVICE=cups -sstdout=%stderr -sOutputFile=%stdout -I/usr/share/cups/fonts -c -f -_
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[2]="CUPS_DOCROOT=/usr/share/cups/html"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[5]="CUPS_SERVERBIN=/usr/libexec/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[6]="CUPS_SERVERROOT=/etc/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[7]="CUPS_STATEDIR=/var/run/cups"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[8]="HOME=/var/spool/cups/tmp"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[9]="PATH=/usr/libexec/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[10]="SERVER_ADMIN=root@nowhere.de"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[11]="SOFTWARE=CUPS/1.4.8"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[12]="TMPDIR=/var/spool/cups/tmp"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[13]="USER=root"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[14]="CUPS_SERVER=/var/run/cups/cups.sock"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[15]="CUPS_ENCRYPTION=IfRequested"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[16]="IPP_PORT=631"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[17]="CHARSET=utf-8"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[18]="LANG=en_IE.UTF-8"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[19]="PPD=/etc/cups/ppd/CLP-500.ppd"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[20]="RIP_MAX_CACHE=8m"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[21]="CONTENT_TYPE=application/vnd.cups-postscript"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[22]="DEVICE_URI=usb://Samsung/CLP-500?serial=2U21B1BX801031H."
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[23]="PRINTER_INFO=Samsung CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[24]="PRINTER_LOCATION=home"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[25]="PRINTER=CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[26]="CUPS_FILETYPE=document"
D [08/Jan/2012:06:58:43 +0100] [Job 41] envp[27]="FINAL_CONTENT_TYPE=printer/CLP-500"
D [08/Jan/2012:06:58:43 +0100] [Job 41] Start rendering...
D [08/Jan/2012:06:58:43 +0100] [Job 41] Set job-printer-state-message to "Start rendering...", current level=INFO
D [08/Jan/2012:06:58:43 +0100] [Job 41] Processing page 1...
D [08/Jan/2012:06:58:43 +0100] [Job 41] Set job-printer-state-message to "Processing page 1...", current level=INFO
D [08/Jan/2012:06:58:43 +0100] [Job 41] usb_find_devices=6
D [08/Jan/2012:06:58:43 +0100] [Job 41] STATE: +connecting-to-device
D [08/Jan/2012:06:58:43 +0100] [Job 41] STATE: -connecting-to-device
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Next requested page : 1 (# pages into memory=0/30)
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Document width=800 height=1128
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Page width=832 (104) height=1128
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Margin width in bytes=2 height=21
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Clipping X=0 Y=0
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Line size=100, Plane size=121680, bytes to copy=100
D [08/Jan/2012:06:58:43 +0100] [Job 41] Processing page 2...
D [08/Jan/2012:06:58:43 +0100] [Job 41] Set job-printer-state-message to "Processing page 2...", current level=INFO
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Page 1 (797×1128 on 832×1170) has been successfully loaded into memory
D [08/Jan/2012:06:58:43 +0100] [Job 41] Set job-printer-state-message to "SpliX Compression algorithm 0x0 does not exist", current level=ERROR
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Next requested page : 2 (# pages into memory=0/30)
D [08/Jan/2012:06:58:43 +0100] [Job 41] Rendering completed
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX No more pages
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Compression thread: work done. See ya
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Compression thread: work done. See ya
D [08/Jan/2012:06:58:43 +0100] [Job 41] SpliX Cache controller unloaded. See ya
D [08/Jan/2012:06:58:43 +0100] [Job 41] End of messages
D [08/Jan/2012:06:58:43 +0100] [Job 41] printer-state=3(idle)
D [08/Jan/2012:06:58:43 +0100] [Job 41] printer-state-message="Rendering completed"
D [08/Jan/2012:06:58:43 +0100] [Job 41] printer-state-reasons=none
D [08/Jan/2012:07:00:49 +0100] [Job 41] Unloading...
D [08/Jan/2012:07:00:54 +0100] [Job 41] Loading attributes...
E [08/Jan/2012:07:03:48 +0100] [Job 41] Stopping unresponsive job!

Discussion

  • Assuming the client is also using cups, a workaround is to set up the remote (client) machine with the same ppd (CLP-500) and then delete the "cupsFilter" line in the client's /etc/cups/ppd/Added-CLP-500-Printer.ppd. Just the ppd file is necessary in this case, as the rip is done on the server.

    ...
    *cupsFilter: "application/vnd.cups-postscript 0 pstoqpdl" <== Remove this line.
    ...

    Don't use the Generic Postscript Driver or any other ppds because it does not include the options required on the submitted job, as can be noticed from the debug log.

    Simulated a test in gentoo, on ubuntu this problem does not manifest, it seems.