Citrix Print Manager Service or Microsoft Print Spooler Service Crashes or Hangs

Citrix Print Manager Service or Microsoft Print Spooler Service Crashes or Hangs

book

Article ID: CTX113789

calendar_today

Updated On:

Description

The Citrix Print Manager service (cpsvc.exe) or Microsoft Print Spooler service (spoolsv.exe) crashes or hangs.

Printers are not auto-created, the default printer is not set correctly in the session, print jobs fail to spool, and so on.

Environment

Citrix is not responsible for and does not endorse or accept any responsibility for the contents or your use of these third party Web sites. Citrix is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement by Citrix of the linked Web site. It is your responsibility to take precautions to ensure that whatever Web site you use is free of viruses or other harmful items.

Resolution

  1. Investigate the output on a hung service: How to use the Userdump.exe tool to create a dump file. Because the Citrix Print Manager service depends on the Microsoft Print Spooler service, Citrix may ask for both services to be analyzed.

  2. Investigate output from application crashes.

  3. Check the following registry key:

    For 32-bit Windows:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86

    For 64-bit Windows:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64

    This registry key contains driver provider information.

    Native printer drivers can be identified by the provider information. A provider that is or contains “Microsoft” indicates a native print driver. Vendor drivers are listed with the vendor name.

    User-added image

    In some cases, the native driver might be listed with the vendor ID, but in this case the OEM URL in the registry key should point to the Microsoft support Web page rather than to the vendor support Web page.

Kernel Mode Drivers (Version 2) are listed in the following section: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-2

See Bug Check 0x50 PAGE_FAULT_IN_NONPAGED_AREA - Windows drivers | Microsoft Learn

  • This can cause stop errors, print spooler crashes, and faulty print jobs.
    Stop error indications:
    0xA - IRQL_NOT_LESS_OR_EQUAL
    0x50 - PAGE_FAULT_IN_NONPAGED_AREA
    0xBE - ATTEMPTED_WRITE_TO_READONLY_MEMORY
    0xC1 - SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
    0xC4 - DRIVER_VERIFIER_DETECTED_VIOLATION
    0xC6 - DRIVER_CAUGHT_MODIFYING_FREED_POOL
    0xC7 - TIMER_OR_DPC_INVALID
    0xC9 - DRIVER_VERIFIER_IOMANAGER_VIOLATION

  • Try to avoid kernel mode drivers on Windows 2000 Server or Windows Server 2003 at all times (on Windows Server 2003, version 2 is disabled by default).

  • Only use kernel-mode drivers on Windows NT 4.0 Terminal Server Edition systems (you have no other choice)

Drivers with missing provider information

Missing provider information generally points to an incorrect driver installation (possibly an updated driver). Some vendors may intentionally leave this field blank. If Citrix print driver replication is used, the blank field is ported to all servers.

If the vendor configures this value and it is blank, Citrix recommends uninstalling and reinstalling such drivers.

If such drivers are vendor drivers and not native Windows drivers, they should be verified for Terminal Server certification prior to a new installation.

Best Practices

  • Use native Windows drivers or the Citrix Universal Print Driver (UPD).

  • Use driver mapping to native drivers.

  • Avoid updating a driver. Always attempt to uninstall a driver, restart, and then install the new/replacement driver.

  • Unused drivers should be uninstalled or restricted within the Presentation Server Console.

  • Try to avoid using version 2 kernel-mode drivers.

  • Give users write access to <root directory>\system\spool to handle third-party printer drivers that are not 100 percent Terminal Server-aware.

  • Try avoiding third-party PCL6 drivers (it is preferable to use PCL5 or PS).

  • Never install untested printer drivers on a production server/server farm.

  • Do not install ALL native printer drivers on the server (unneeded growth of the data store, and will slow down logon performance).

  • Use mappings when available.

  • Scheduled spooler restart and spool directory cleanup during a server restart is fighting the problem symptoms, not the problem source.

Issue/Introduction

The Citrix Print Manager service (cpsvc.exe) or Microsoft Print Spooler service (spoolsv.exe) crashes or hangs.

Additional Information

In general, all of the Microsoft-supplied printer drivers are tested with Terminal Services and guaranteed to work with Citrix. However, before using a third-party printer driver, ensure it has been certified for Terminal Services. There is a Windows Hardware Quality Labs (WHQL) program for getting third-party printer drivers certified on Terminal Services. Citrix does not certify printer drivers. Consult your printer driver vendor to ensure the driver you plan to use has been certified for a Terminal Services environment.