Drucker funktionieren nicht mehr nach Update auf 10.6.8

Nach dem Einspielen des Service Packs 8 für Mac OSX 10.6 auf 10.6.8 funktionieren vereinzelte Drucker nicht mehr und bleiben nach dem Senden eines Druckauftrags im Status »Pause« stecken. Das Problem scheint ein Bug im CUPS-Backend zu sein. Einige Benutzer konnten mit einem Roll Back auf eine ältere Betriebssystemversion ihre Drucker wieder zum Laufen bringen, wobei letztendlich auch nur das Austauschen einer Datei im CUPS-Backend genügen würde.

Passend zu diesem Verhalten wird im SystemLog folgender Eintrag bei jedem Druckauftrag, welcher den Drucker in den Pause-Modus zwingt, mitgeschrieben:

/var/log/system.log

com.apple.ReportCrash.Root[22943]: 2011-06-29 10:00:08.337 ReportCrash[22943:2703] Saved crash report for lpd[22939] version ??? (???) to /Library/Logs/DiagnosticReports/lpd_2011-06-29-100008_localhost.crash

Der angegebene CrashReport zeigt folgenden Eintrag:

/Library/Logs/DiagnosticReports/lpd_2011-06-29-100008_localhost.crash

   r8: 0x0000000000000002   r9: 0x0000000000000000  r10: 0x000000012228962b  r11: 0x00007fff5fbf6269
  r12: 0x00007fff5fbf626b  r13: 0x0000000000000009  r14: 0x0000000000000040  r15: 0x0000000100104988
  rip: 0x0000000122288b64  rfl: 0x0000000000010246  cr2: 0x00007fff5fbe9fc8

Binary Images:
       0x122284000 -        0x12228afff  lpd ??? (???) <FCED971F-53CA-B489-F34C-0601F02D6E6B> /usr/libexec/cups/backend/lpd
    0x7fff5fc00000 -     0x7fff5fc3be0f  dyld 132.1 (???) <29DECB19-0193-2575-D838-CF743F0400B2> /usr/lib/dyld
    0x7fff80003000 -     0x7fff80014ff7  libz.1.dylib 1.2.3 (compatibility 1.0.0) <97019C74-161A-3488-41EC-A6CA8738418C> /usr/lib/libz.1.dylib
    0x7fff80562000 -     0x7fff80723fef  libSystem.B.dylib 125.2.11 (compatibility 1.0.0) <9AB4F1D1-89DC-0E8A-DC8E-A4FE4D69DB69> /usr/lib/libSystem.B.dylib
    0x7fff80d95000 -     0x7fff80de1fff  libauto.dylib ??? (???) <F7221B46-DC4F-3153-CE61-7F52C8C293CF> /usr/lib/libauto.dylib
    0x7fff831c2000 -     0x7fff83278ff7  libobjc.A.dylib 227.0.0 (compatibility 1.0.0) <03140531-3B2D-1EBA-DA7F-E12CC8F63969> /usr/lib/libobjc.A.dylib
    0x7fff838fd000 -     0x7fff8391efff  libresolv.9.dylib 41.0.0 (compatibility 1.0.0) <9F322F47-0584-CB7D-5B73-9EBD670851CD> /usr/lib/libresolv.9.dylib
    0x7fff840cc000 -     0x7fff840d0ff7  libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <95718673-FEEE-B6ED-B127-BCDBDB60D4E5> /usr/lib/system/libmathCommon.A.dylib
    0x7fff85dad000 -     0x7fff85e66fff  libsqlite3.dylib 9.6.0 (compatibility 9.0.0) <2C5ED312-E646-9ADE-73A9-6199A2A43150> /usr/lib/libsqlite3.dylib
    0x7fff86872000 -     0x7fff868acfff  libcups.2.dylib 2.8.0 (compatibility 2.0.0) <7982734A-B66B-44AA-DEEC-364D2C10009B> /usr/lib/libcups.2.dylib
    0x7fff873aa000 -     0x7fff87427fef  libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <35ECA411-2C08-FD7D-11B1-1B7A04921A5C> /usr/lib/libstdc++.6.dylib
    0x7fff87610000 -     0x7fff87899ff7  com.apple.security 6.1.2 (55002) <4419AFFC-DAE7-873E-6A7D-5C9A5A4497A6> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff8789a000 -     0x7fff8794afff  edu.mit.Kerberos 6.5.11 (6.5.11) <085D80F5-C9DC-E252-C21B-03295E660C91> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff8794b000 -     0x7fff87b09fff  libicucore.A.dylib 40.0.0 (compatibility 1.0.0) <4274FC73-A257-3A56-4293-5968F3428854> /usr/lib/libicucore.A.dylib
    0x7fff87b60000 -     0x7fff87cd7fe7  com.apple.CoreFoundation 6.6.5 (550.43) <31A1C118-AD96-0A11-8BDF-BD55B9940EDC> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff8933e000 -     0x7fff8937ffff  com.apple.SystemConfiguration 1.10.8 (1.10.2) <78D48D27-A9C4-62CA-2803-D0BBED82855A> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fffffe00000 -     0x7fffffe01fff  libSystem.B.dylib ??? (???) <9AB4F1D1-89DC-0E8A-DC8E-A4FE4D69DB69> /usr/lib/libSystem.B.dylib

Zum Beheben dieses Bugs müssen Sie eine ältere Version der Datei »/usr/libexec/cups/backend/lpd« einspielen. Zum Beispiel aus einem vorhandenen Time Machine Backup oder von einer anderen Maschine auf der noch maximal 10.6.7 installiert ist. Ich habe zum Beheben dieses Fehlers die og Datei aus einer 10.6.6 Installation verwendet. Diese Version kann, falls Sie keine passende lpd-Datei mehr haben, hier heruntergeladen werden. Download lpd.tar.gz Entpacken Sie die Datei und speichern Sie sie in »/usr/libexec/cups/backend« ab und ändern noch die Rechte und den Eigentümer wie folgt:

$ sudo chmod 700 /usr/libexec/cups/backend/lpd
$ sudo chown root:wheel /usr/libexec/cups/backend/lpd

Die Drucker mit Zwangspause sollten im Anschluß daran wieder normal funktionieren.

Ressources:
Download lpd.tar.gz

pronto 2011/06/29 14:48