cups-pdf druckt nicht

Einrichten des Druckers und des Drucksystems, Scannerkonfiguration und Software zum Scannen und Faxen.
Antworten
scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

cups-pdf druckt nicht

Beitrag von scientific » 04.05.2016 10:17:52

Hi Leute

Ich nutze selten aber doch cups-pdf zur Erzeugung von PDFs per Druckerbefehl. Gestern war es wieder einmal soweit, und ich bekam zwar die Rückmeldung, dass der Druck erfolgreich war, fand aber kein pdf im Zielordner.

Bei der Recherche stieß ich auf einige Meldungen, die meiner glichen.

Code: Alles auswählen

Wed May  4 09:51:36 2016  [DEBUG] removing trailing newlines from title (((stdin)))
Wed May  4 09:51:36 2016  [STATUS] ***Experimental Option: DecodeHexStrings
Wed May  4 09:51:36 2016  [DEBUG] checking for hex strings (((stdin)))
Wed May  4 09:51:36 2016  [DEBUG] not a hex string, has no start marker (((stdin)))
Wed May  4 09:51:36 2016  [DEBUG] removing enclosing parentheses () from full title (((stdin)))
Wed May  4 09:51:36 2016  [DEBUG] calling alternate_replace_string
Wed May  4 09:51:36 2016  [DEBUG] removing alternate special characters from title ((stdin))
Wed May  4 09:51:36 2016  [DEBUG] title successfully retrieved (_stdin_-job_352)
Wed May  4 09:51:36 2016  [DEBUG] input data read from stdin
Wed May  4 09:51:36 2016  [DEBUG] output filename created (/home/jakob/PDF/_stdin_-job_352.pdf)
Wed May  4 09:51:36 2016  [DEBUG] ghostscript commandline built (/usr/bin/gs -q -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="/home/jakob/PDF/_stdin_-job_352.pdf" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f /var/spool/cups-pdf/SPOOL/cups2pdf-15601)
Wed May  4 09:51:36 2016  [DEBUG] output file unlinked (/home/jakob/PDF/_stdin_-job_352.pdf)
Wed May  4 09:51:36 2016  [DEBUG] TMPDIR set for GhostScript (/var/tmp)
Wed May  4 09:51:36 2016  [DEBUG] waiting for child to exit
Wed May  4 09:51:36 2016  [DEBUG] entering child process
Wed May  4 09:51:36 2016  [DEBUG] GID set for current user
Wed May  4 09:51:36 2016  [DEBUG] supplementary groups set for current user
Wed May  4 09:51:36 2016  [DEBUG] UID set for current user (jakob)
Wed May  4 09:51:36 2016  [DEBUG] ghostscript has finished (256)
Wed May  4 09:51:36 2016  [ERROR] failed to set file mode for PDF file (non fatal) (/home/jakob/PDF/_stdin_-job_352.pdf)
Wed May  4 09:51:36 2016  [DEBUG] ERRNO: 2
Wed May  4 09:51:36 2016  [DEBUG] no postprocessing
Wed May  4 09:51:36 2016  [DEBUG] spoolfile unlinked (/var/spool/cups-pdf/SPOOL/cups2pdf-15601)
Wed May  4 09:51:36 2016  [DEBUG] all memory has been freed
Wed May  4 09:51:36 2016  [STATUS] PDF creation successfully finished (jakob)
Ich habe meine cups-pdf.conf geprüft, ich habe das apparmor-profil für cups geprüft, ich hab apparmor sogar deaktivert, ich hab das profil deaktiviert und umbenannt... immer das gleiche.

Das obere Log hab ich bekommen, indem ich den Logtype auf 7 in cups-pdf.conf gesetzt habe. Ansonsten werden nur die Zei´len mit "[STATUS]" ausgegeben.
Spannend finde ich die Zeile

Code: Alles auswählen

Wed May  4 09:51:36 2016  [DEBUG] output file unlinked (/home/jakob/PDF/_stdin_-job_352.pdf)
Warum wird das Output-File wieder gelöscht???

Ich habe unter vielen anderen Seiten auch diese hier gefunden: http://unix.stackexchange.com/questions ... ile-mode-p

Ist das ein neuer Bug?

Code: Alles auswählen

# dpkg -l|grep cups
ii  cups                                        2.1.3-5                                         amd64        Common UNIX Printing System(tm) - PPD/driver support, web interface
ii  cups-browsed                                1.8.3-2+b1                                      amd64        OpenPrinting CUPS Filters - cups-browsed
ii  cups-bsd                                    2.1.3-5                                         amd64        Common UNIX Printing System(tm) - BSD commands
ii  cups-client                                 2.1.3-5                                         amd64        Common UNIX Printing System(tm) - client programs (SysV)
ii  cups-common                                 2.1.3-5                                         all          Common UNIX Printing System(tm) - common files
ii  cups-core-drivers                           2.1.3-5                                         amd64        Common UNIX Printing System(tm) - PPD-less printing
ii  cups-daemon                                 2.1.3-5                                         amd64        Common UNIX Printing System(tm) - daemon
ii  cups-filters                                1.8.3-2+b1                                      amd64        OpenPrinting CUPS Filters - Main Package
ii  cups-filters-core-drivers                   1.8.3-2+b1                                      amd64        OpenPrinting CUPS Filters - PPD-less printing
ii  cups-pdf                                    2.6.1-21                                        amd64        PDF writer backend for CUPS (dummy transitional package)
ii  cups-pk-helper                              0.2.5-2+b1                                      amd64        PolicyKit helper to configure cups with fine-grained privileges
ii  cups-ppdc                                   2.1.3-5                                         amd64        Common UNIX Printing System(tm) - PPD manipulation utilities
ii  cups-server-common                          2.1.3-5                                         all          Common UNIX Printing System(tm) - server common files
ii  libcups2:amd64                              2.1.3-5                                         amd64        Common UNIX Printing System(tm) - Core library
ii  libcupscgi1:amd64                           2.1.3-5                                         amd64        Common UNIX Printing System(tm) - CGI library
ii  libcupsfilters1:amd64                       1.8.3-2+b1                                      amd64        OpenPrinting CUPS Filters - Shared library
ii  libcupsimage2:amd64                         2.1.3-5                                         amd64        Common UNIX Printing System(tm) - Raster image library
ii  libcupsmime1:amd64                          2.1.3-5                                         amd64        Common UNIX Printing System(tm) - MIME library
ii  libcupsppdc1:amd64                          2.1.3-5                                         amd64        Common UNIX Printing System(tm) - PPD manipulation library
ii  printer-driver-cups-pdf                     2.6.1-21                                        amd64        printer driver for PDF writing via CUPS
ii  printer-driver-hpcups                       3.16.3+repack0-1                                amd64        HP Linux Printing and Imaging - CUPS Raster driver (hpcups)
ii  python3-cups                                1.9.73-1                                        amd64        Python3 bindings for CUPS
ii  python3-cupshelpers                         1.5.7-1                                         all          Python utility modules around the CUPS printing system
kann das jemand nachvollziehen?

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: cups-pdf druckt nicht

Beitrag von eggy » 04.05.2016 10:57:23

Ich hab den Fehler nicht, allerdings gabs vor nen paar Tagen/Wochen auf sid nen Cups-Update, was erforderte, dass man cups-genppdupdate ausführte, damit die ppd neu geniert wurden. Keine Ahnung, ob das auf den PDF-Drucker auch zutrifft, mal testen?

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: cups-pdf druckt nicht

Beitrag von scientific » 04.05.2016 12:03:44

Danke für den Hinweis. Aber das scheint es nicht gewesen zu sein...

Code: Alles auswählen

# cups-genppdupdate
Did not update any PPD files
Spannend finde ich ja dass alle Meldungen diesbezüglich darauf hindeuten, dass apparmor da dazwischenfunkt und diese Fehler + Meldung auslöst.
Aber selbst ein deaktiviertes apparmor hier keine Besserung bringt.

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: cups-pdf druckt nicht

Beitrag von eggy » 04.05.2016 13:28:15

Funktionieren denn die Befehle einzeln? Aus dem Log sollte sich ja halbwegs rekonstruieren lassen, was wie wo in welcher Reihenfolge aufgerufen wird. Und vorher einfach nochmal purge/neuinstall der cups/pdf Pakete (vorher configs sichern). Das sollte eventuelle Berechtigungsprobleme aus der Welt schaffen, sofern es "nur" daran liegt.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: cups-pdf druckt nicht

Beitrag von NAB » 04.05.2016 13:38:37

Das sieht aber verdächtig nach diesem Bug aus:
https://bugs.launchpad.net/ubuntu/+sour ... bug/879172
Sicher, dass es ohne AppArmor nicht geht?
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: cups-pdf druckt nicht

Beitrag von scientific » 04.05.2016 14:46:12

Ich habe cups* und printer* deinstalliert und neu installiert (mit purge, nicht mit remove).
Wieder das gleiche.

Ich habe auch mit apparmor=0 in grub gebootet. Auch das gleiche.

Code: Alles auswählen

systemctl stop apparmor.service
systemctl restart cups.service
brachte auch keine Änderung des Verhaltens.

Diesen Bug hab ich auch schon entdeckt. Ist aber 2 Jahre alt... und ich fand keine cups-Version dazu. Aber wahrscheinlich ist es der selbe Bug.

Sollt ich einen mit reportbug an Debian auch verfassen?
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: cups-pdf druckt nicht

Beitrag von NAB » 04.05.2016 15:40:02

hmmm ... ich hab mal in den Quellcode von "cups-pdf.c" geguckt ... wenn ich das richtig sehe, erzählt er dir erst, wie die Befehlszeile von "gs" aussehen würde ("ghostscript commandline built"), löscht dann die Zieldatei ("output file unlinked") und macht dann einen fork um gs per system() zu starten:
http://linux.die.net/man/3/system
Dabei würde gs die Zieldatei neu erzeugen. Fehlermeldungen von gs werden nicht durchgereicht, lediglich der Returncode von system(), und der lautet bei dir:
ghostscript has finished (256)

Wenn ich die Google-Treffer so durchgucke, sollte da aber (0) stehen, wenn alles glatt gelaufen ist. Ich vermute daher, dass es bei "gs" oder dem Shell-Aufruf hapert, und nicht bei cups-pdf.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: cups-pdf druckt nicht

Beitrag von scientific » 04.05.2016 15:52:23

NAB hat geschrieben:hmmm ... ich hab mal in den Quellcode von "cups-pdf.c" geguckt ... wenn ich das richtig sehe, erzählt er dir erst, wie die Befehlszeile von "gs" aussehen würde ("ghostscript commandline built"), löscht dann die Zieldatei ("output file unlinked") und macht dann einen fork um gs per system() zu starten:
http://linux.die.net/man/3/system
Dabei würde gs die Zieldatei neu erzeugen. Fehlermeldungen von gs werden nicht durchgereicht, lediglich der Returncode von system(), und der lautet bei dir:
ghostscript has finished (256)

Wenn ich die Google-Treffer so durchgucke, sollte da aber (0) stehen, wenn alles glatt gelaufen ist. Ich vermute daher, dass es bei "gs" oder dem Shell-Aufruf hapert, und nicht bei cups-pdf.
Wie meinst du, dass es bei gs oder shell hapert und nicht bei cups-pdf?

Ich schreibe das Kommando

Code: Alles auswählen

echo Hallo|lpr
und sehe mir dann das Log an, welches ich gepostet habe. Selbiges kommt auch, wenn ich aus Firefox heraus CUPS-PDF als Drucker auswähle und drucke.
Also liegt der Fehler in cups oder cups-pdf. Irgendwo halt in dieser Kette.
Der Returncode 256 lässt allerdings auf eine fehlgeschlagene Ausführung schließen. Jedoch meldet cups das Dokument als erfolgreich gedruckt... Was aber auch nicht sein sollte (also noch ein Bug, in dem die Fehlercodes falsch abgefangen werden)

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: cups-pdf druckt nicht

Beitrag von scientific » 04.05.2016 16:06:48

Habe jetzt mal /var/tmp auf 1777 gesetzt... und siehe da, ich kann ein PDF erstellen... 8)

Wo ist da jetzt der Bug daheim? Gegen welches Paket müsste ich den Bugreport filen?

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: cups-pdf druckt nicht

Beitrag von NAB » 04.05.2016 16:07:35

scientific hat geschrieben:Wie meinst du, dass es bei gs oder shell hapert und nicht bei cups-pdf?
cups-pdf ruft folgenden Befehl auf:

Code: Alles auswählen

/bin/sh -c /usr/bin/gs -q -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="/home/jakob/PDF/_stdin_-job_352.pdf" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f /var/spool/cups-pdf/SPOOL/cups2pdf-15601
Und der gibt bei dir 256 zurück. Warum auch immer.
scientific hat geschrieben:Der Returncode 256 lässt allerdings auf eine fehlgeschlagene Ausführung schließen. Jedoch meldet cups das Dokument als erfolgreich gedruckt... Was aber auch nicht sein sollte (also noch ein Bug, in dem die Fehlercodes falsch abgefangen werden)
Stimmt ... der Returncode von system() wird nur ausgegeben und nicht weiter geprüft. Egal was dabei rauskommt, cups-pdf meldet nachher "Erfolg".
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: cups-pdf druckt nicht

Beitrag von NAB » 04.05.2016 16:36:36

scientific hat geschrieben:Wo ist da jetzt der Bug daheim? Gegen welches Paket müsste ich den Bugreport filen?
Gegen "cups-pdf.conf". Sie sollten folgende Zeilen rot und blinkend gestalten:

Code: Alles auswählen

### Key: GSTmp (config)
##  location of temporary files during GhostScript operation 
##  this must be user-writable like /var/tmp or /tmp ! 
### Default: /var/tmp

#GSTmp /var/tmp
http://www.cups-pdf.de/cups-pdf-CURRENT ... s-pdf.conf
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: cups-pdf druckt nicht

Beitrag von scientific » 04.05.2016 17:05:56

NAB hat geschrieben:
scientific hat geschrieben:Wo ist da jetzt der Bug daheim? Gegen welches Paket müsste ich den Bugreport filen?
Gegen "cups-pdf.conf". Sie sollten folgende Zeilen rot und blinkend gestalten:

Code: Alles auswählen

### Key: GSTmp (config)
##  location of temporary files during GhostScript operation 
##  this must be user-writable like /var/tmp or /tmp ! 
### Default: /var/tmp

#GSTmp /var/tmp
http://www.cups-pdf.de/cups-pdf-CURRENT ... s-pdf.conf
Ich habe aber in den letzten Monaten an der Konfiguration nichts geändert... und auf einmal ging es nicht mehr? Also muss irgend ein Paket wohl die Schreibrechte von /var/tmp geändert haben... Ob es cups-pdf war?
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: cups-pdf druckt nicht

Beitrag von NAB » 04.05.2016 17:26:35

Tja ... keine Ahnung ...

Ich kann mir nicht vorstellen, dass cups-pdf an einem Systemverzeichnis wie /var/tmp herumpfuscht. Ich könnte mir eher denken, dass "cups-pdf.conf" irgendwann mal aktualisiert worden ist, und vorher für "GSTmp" irgend ein anderes Verzeichnis gesetzt worden war.

Auffällig sind die vielen Google-Treffer in Verbindung mit AppArmor ... vielleicht verstellt das auch irgendwas.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: cups-pdf druckt nicht

Beitrag von scientific » 05.05.2016 10:17:31

Bin jetzt noch einmal tief in mich gegangen...

Offenbar muss ich den Bugreport gegen mich selbst filen... :roll:

Ich hab unlängst mein System umgebaut. Auf Anregung von SuSEs snapper habe ich zwei Subvolumes für mein System in btrfs angelegt. Eines wo nur das "System" drauf ist, und ein zweites, worin ich Subvolumes habe, welche bei einer Wiederherstellung zu einem früheren Zeitpunkt (booten in einen alten Snapshot) aber erhalten bleiben sollen. So ist im zweiten Snapshot /home, /var/spool usw. ausgelagert. Diese Subvolumes mounte ich per fstab in mein System.
Da habe ich auch /var/tmp hin geschoben.

Und offenbar war ich nicht aufmerksam genug und habe die Berechtigungen nicht korrekt mitgenommen...

Nun, jetzt weiß ich es und bin froh, dass cups-pdf wieder problemlos arbeitet.

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Antworten