Mac OS X 10.2.2: Application Unexpectedly Quits When Printing

When you try to print to a PostScript printer, the application you are printing from may unexpectedly quit ("crash") if the PPD for that print queue incorrectly identifies the default paper tray.
Symptom

Note: If you are reading this prior to having experienced the symptom, save changes to your document before proceeding. Unsaved changes to a document may be lost when an application unexpectedly quits.

You encounter this sequence of events:


Note: Additional PostScript printers from these and other vendors may also be affected.

Solution

You may avoid this issue by updating to Mac OS X 10.2.3 or later. See technical document 107263, "Mac OS X: About the Mac OS X 10.2.3 Update".

For Mac OS X 10.2.2, you may be able to print to the PostScript printer by creating a new queue for the printer with the Generic PPD.

Note: When using this workaround, be sure to save your document before printing. In the event that you are unable to print, any unsaved changes to the document could be lost. Follow these steps:

1. Open Print Center (/Applications/Utilities/).
2. Select the affected print queue.
3. Click Delete.
4. Click Add.
5. Select the printer from the Name list (if necessary, choose the correct connection method and/or AppleTalk zone in the pop-up menus above the Name list).
6. Choose Generic from the Printer Model pop-up menu.
7. Click Add.
8. Open an existing document, or create a new document.
9. Print the document to the newly created print queue.

If the issue persists, additional troubleshooting may be required. See technical document 106714, "Mac OS X: How to Troubleshoot Printing Issues".


Additional information

After a PPD file is uncompressed, examining it with a text editor will typically reveal that the "DefaultInputSlot" attribute is incorrectly specified as "Unknown", where "Unknown" is not defined elsewhere in the PPD. Some other PPD errors known to cause this issue include the DefaultInputSlot attribute being incorrectly specified as "xyz " (contains trailing spaces) whereas everywhere else in the PPD the attribute is specified as "xyz", or the DefaultInputSlot parameter does not exist even though the PPD references input slots.

If crash reporting is enabled in Console preferences, the crash log will contain an entry similar to this one:

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000001

Thread 0 Crashed:
#0 0x90026f14 in strcasecmp
#1 0x93a283ec in ppdMarkOption
#2 0x91d0b9d4 in _Z23GetPickOneUIListFromPPDP10ppd_file_tPKcmPP9__CFArray
#3 0x91d0b770 in PaperFeedInitialize
#4 0x91d09738 in _ZN8PDEPanel10InitializeEP20OpaquePMPrintSessionP16OpaqueControlRef
#5 0x91d095a8 in _ZN21PJCPrintingDialogBase14AddPanelToMenuEP8PJCPanelPK10__CFStringP20OpaquePMPrintSession
#6 0x91d0b22c in _ZN15PJCPrintDialogs14AddPMPDEToMenuEP8PJCPanelP20OpaquePMPrintSession
#7 0x91d08edc in _ZN21PJCPrintingDialogBase15UpdatePanelMenuEP20OpaquePMPrintSession
#8 0x91d055d4 in _ZN21PJCPrintingDialogBase10LoadPanelsEP20OpaquePMPrintSession
#9 0x91d1f4b4 in _ZN15PJCPrintDialogs10LoadPanelsEP20OpaquePMPrintSession
Published Date: Feb 17, 2012