Tracking print related application failures back to a print driver name

KB Home   |   Tracking print related application failures back to a print driver name

Main.TrackDownFailingPrintDrivers History

Hide minor edits - Show changes to output

November 04, 2015, at 02:17 AM by Alan Morris - original post
Changed lines 52-53 from:
''Categories:'' [[Category.Administration|+]], [[Category.TipsAndTricks|+]], [[Category.Windows|+]], [[Category.Debugging|+]], [[Category.Troubleshooting|+]]----
to:
''Categories:'' [[Category.Administration|+]], [[Category.TipsAndTricks|+]], [[Category.Windows|+]], [[Category.Debugging|+]], [[Category.Troubleshooting|+]]
----
November 04, 2015, at 02:14 AM by 207.173.83.180 -
November 04, 2015, at 02:11 AM by 207.173.83.180 -
Changed line 12 from:
[=Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a=]\\
to:
'''Faulting module name:'''[= MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a=]\\
November 04, 2015, at 02:10 AM by 207.173.83.180 -
Changed line 18 from:
[=Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL=]\\
to:
'''Faulting module path:''' [=C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL=]\\
November 04, 2015, at 02:08 AM by 207.173.83.180 -
Added lines 5-6:
!!How to identify the binary causing the crash.
Changed lines 21-22 from:
to:
!!How to identify the driver
Added lines 42-43:

!!Steps to a solution
November 04, 2015, at 02:04 AM by 207.173.83.180 -
Changed lines 32-33 from:
[=cscript c:\Windows\System32\Printing_Admin_Scripts\[Locale]\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver=]
to:
[=cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver=]
->Note replace en-US with the locale information of your operating system.
November 04, 2015, at 02:01 AM by 207.173.83.180 -
November 04, 2015, at 02:01 AM by 207.173.83.180 -
Changed line 32 from:
[=cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver=]
to:
[=cscript c:\Windows\System32\Printing_Admin_Scripts\[Locale]\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver=]
November 04, 2015, at 01:58 AM by 207.173.83.180 -
Changed line 26 from:
Name                                    [=PrinterEnvironment  MajorVersion    Manufacturer=]\\
to:
Name[=                                    PrinterEnvironment  MajorVersion    Manufacturer=]\\
November 04, 2015, at 01:57 AM by 207.173.83.180 -
Changed lines 28-29 from:
My Test Print Driver    Windows x64                 3                                [=TestPrintDriverVendor=]\\
to:
My Test Print Driver         Windows x64                3                                 [=TestPrintDriverVendor=]
Changed lines 34-36 from:
This will provide a complete listing of the driver names. Look through the list and find the one that uses the faulting module name.

Driver name My Test Print
Driver,3,Windows x64\\
to:
This will provide a complete listing of the driver names due to the search on "Driver Name".  Look through the list and find the one that uses the faulting module name.

Driver name  My Test Print Driver, 3, Windows x64\\
November 04, 2015, at 01:50 AM by 207.173.83.180 -
Changed lines 26-27 from:
Name                                    PrinterEnvironment  [=MajorVersion    Manufacturer=]\\
----                                          -------------------  -------------    --------------\\
to:
Name                                    [=PrinterEnvironment  MajorVersion    Manufacturer=]\\
[=----                                          -------------------  -------------    --------------=]\\
November 04, 2015, at 01:49 AM by 207.173.83.180 -
Changed lines 20-21 from:
On Server 2012 and newer, use [=PowerShell=] to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.
to:
On Server 2012 and newer, use [=PowerShell=] to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.  Substitute the binary name identified in the Windows event.
Changed line 26 from:
Name                                    PrinterEnvironment  MajorVersion    Manufacturer\\
to:
Name                                    PrinterEnvironment  [=MajorVersion    Manufacturer=]\\
Changed line 28 from:
My Test Print Driver    Windows x64                  3                                  TestPrintDriverVendor\\
to:
My Test Print Driver    Windows x64                  3                                  [=TestPrintDriverVendor=]\\
November 04, 2015, at 01:45 AM by 207.173.83.180 -
Changed lines 26-31 from:
[=Name                                    PrinterEnvironment  MajorVersion    Manufacturer=]

----                                          -------------------  -------------    --------------

[=
My Test Print Driver    Windows x64                  3                                  TestPrintDriverVendor=]
to:
Name                                    PrinterEnvironment  MajorVersion    Manufacturer\\
----                                          -------------------  -------------    --------------\\
My Test Print Driver    Windows x64                  3                                  TestPrintDriverVendor\\
Changed lines 36-37 from:
Driver name My Test Print Driver,3,Windows x64
to:
Driver name My Test Print Driver,3,Windows x64\\
Changed line 47 from:
[-Keywords: TODO keywords here if needed-]
to:
[-Keywords: crash-]
November 04, 2015, at 01:41 AM by 207.173.83.180 -
Changed lines 10-18 from:
[=Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a=]
Exception code: 0xc00000fd
Fault offset: 0x00000000001500da
Faulting process id: 0x2d9c
Faulting application start time: 0x01d0e431c4b366c5

[=Faulting application path: C:\Windows\system32\spoolsv.exe=]
[=Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL=]
to:
[=Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a=]\\
Exception code: 0xc00000fd\\
Fault offset: 0x00000000001500da\\
Faulting process id: 0x2d9c\\
Faulting application start time: 0x01d0e431c4b366c5\\
[=Faulting application path: C:\Windows\system32\spoolsv.exe=]\\
[=Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL=]\\
November 04, 2015, at 01:40 AM by 207.173.83.180 -
Deleted line 13:
Changed lines 34-35 from:
On Server 2008 and newer on can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous [=PowerShell=] commands are the better choice.
to:
On Server 2008 and newer one can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous [=PowerShell=] command is the better choice.
November 04, 2015, at 01:35 AM by 207.173.83.180 -
Added line 19:
November 04, 2015, at 01:35 AM by 207.173.83.180 -
Deleted line 10:
Changed line 17 from:
Faulting application path: C:\Windows\system32\spoolsv.exe
to:
[=Faulting application path: C:\Windows\system32\spoolsv.exe=]
November 04, 2015, at 01:32 AM by 207.173.83.180 -
Changed lines 19-22 from:

Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL

Report Id: 257c39f8-5025-11e5-82ae-00249b0fae66=]
to:
[=Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL=]
Report Id: 257c39f8-5025-11e5-82ae-00249b0fae66
November 04, 2015, at 01:30 AM by 207.173.83.180 -
Changed lines 12-13 from:
[=Exception code: 0xc00000fd=]
to:
Exception code: 0xc00000fd
Deleted line 13:
November 04, 2015, at 01:29 AM by 207.173.83.180 -
Changed lines 10-12 from:
[=Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a

Exception code: 0xc00000fd
to:
[=Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a=]

[=
Exception code: 0xc00000fd=]
November 04, 2015, at 01:28 AM by 207.173.83.180 -
Added line 11:
Added line 13:
Added line 15:
Added line 17:
Added line 19:
Added line 21:
Added line 23:
November 04, 2015, at 01:27 AM by 207.173.83.180 -
Changed lines 1-2 from:
(:title++ Tracking print related application failures back to a print driver name.++ :)
to:
(:title Tracking print related application failures back to a print driver name :)
Changed line 28 from:
[=----                                          -------------------  -------------    --------------=]
to:
----                                          -------------------  -------------    --------------
November 04, 2015, at 01:19 AM by 207.173.83.180 -
Changed line 32 from:
On Server 2008 and newer on can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous [=PowerShell=]commands are the better choice.
to:
On Server 2008 and newer on can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous [=PowerShell=] commands are the better choice.
November 04, 2015, at 01:18 AM by 207.173.83.180 -
Added line 9:
Added line 27:
Added line 29:
Added line 38:
November 04, 2015, at 01:15 AM by 207.173.83.180 -
Changed lines 8-9 from:
In the following example MyTestPrintDriver.dll is causing a failure in the print spooler service.
Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a
to:
In the following example [=MyTestPrintDriver.dll=] is causing a failure in the print spooler service.
[=Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a
Changed lines 16-18 from:
Report Id: 257c39f8-5025-11e5-82ae-00249b0fae66

to:
Report Id: 257c39f8-5025-11e5-82ae-00249b0fae66=]

Changed line 29 from:
On Server 2008 and newer on can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous PowerShell commands are the better choice.
to:
On Server 2008 and newer on can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous [=PowerShell=]commands are the better choice.
Changed line 35 from:
C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL
to:
[=C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL=]
November 04, 2015, at 01:14 AM by 207.173.83.180 -
Changed lines 19-20 from:
On Server 2012 and newer, use PowerShell to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.
to:
On Server 2012 and newer, use [=PowerShell=] to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.
Changed line 30 from:
cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver
to:
[=cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver=]
November 04, 2015, at 01:12 AM by 207.173.83.180 -
Changed lines 25-28 from:
[=Name                                    PrinterEnvironment  MajorVersion    Manufacturer
----                                          -------------------   -------------    --------------
My Test Print Driver    Windows x64                  3                                  TestPrintDriverVendor
=]
to:
[=Name                                    PrinterEnvironment  MajorVersion    Manufacturer=]
[=
----                                          -------------------  -------------    --------------=]
[=
My Test Print Driver    Windows x64                  3                                  TestPrintDriverVendor=]
November 04, 2015, at 01:10 AM by 207.173.83.180 -
Added line 22:
Changed lines 24-25 from:
Name                                    PrinterEnvironment  MajorVersion    Manufacturer
to:

[=
Name                                    PrinterEnvironment  MajorVersion    Manufacturer
Changed line 28 from:
to:
=]
November 04, 2015, at 01:08 AM by 207.173.83.180 -
Changed line 21 from:
@get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"} @
to:
[=get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"}=]
November 04, 2015, at 01:07 AM by 207.173.83.180 -
Changed line 21 from:
=get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"} =
to:
@get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"} @
November 04, 2015, at 01:04 AM by 207.173.83.180 -
Changed lines 1-2 from:
(:title Tracking print related application failures back to a print driver name. :)
to:
(:title++ Tracking print related application failures back to a print driver name.++ :)
Changed lines 6-7 from:
From here, expand @@Windows Logs -> Application@@.  Right click, Filter Current Logs, set Event sources: Application Error.    This will provide a list of events with ID of 1000.  Search through the events for Faulting application name: spoolsv.exe or pc-print.exe.  Failures related to other print components are printisolationhost.exe and splwow64.exe as well as the executable for an application.  Each event will contain “Faulting module name” data.  Failures that can be traced further have information with a print driver binary name.  Ignore module names of ntdll.dll and kernel32.dll, print drivers will call into these modules but they do not directly link back to the print driver.
to:
From here, expand @@Windows Logs -> Application@@.  Right click, Filter Current Logs, set Event sources: Application Error.    This will provide a list of events with ID 1000.  Search through the events for Faulting application name: spoolsv.exe or pc-print.exe.  Failures related to other print components are printisolationhost.exe and splwow64.exe as well as the executable for an application.  Each event will contain “Faulting module name” data.  Failures that can be traced further have information with a print driver binary name.  Ignore module names of ntdll.dll and kernel32.dll, print drivers will call into these modules but they do not directly link back to the print driver.
Changed line 21 from:
get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"}
to:
=get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"} =
Deleted lines 40-42:
!!Subheading

TODO link your page here: https://www.papercut.com/kb/Main/Miscellaneous
November 04, 2015, at 12:59 AM by 207.173.83.180 -
Changed lines 19-20 from:
On Server 2012 and newer, one can use PowerShell to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.
to:
On Server 2012 and newer, use PowerShell to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.
Changed lines 23-25 from:
Name                              PrinterEnvironment MajorVersion    Manufacturer
----
                                  ------------------         ------------         ------------
My Test Print Driver         Windows x64          3                        TestPrintDriverVendor
to:
Name                                    PrinterEnvironment  MajorVersion    Manufacturer
----
                                         -------------------    -------------    --------------
My Test Print Driver    Windows x64                  3                                  TestPrintDriverVendor
November 04, 2015, at 12:54 AM by 207.173.83.180 -
Changed lines 1-4 from:
(:title Tracking print related application failures back to a print driver name. Title:)

TODO page content here.

to:
(:title Tracking print related application failures back to a print driver name. :)

Print drivers can cause failures in the Windows Print Spooler and PaperCut Print Provider services as well as applications when calling into print driver methods.  If there is a dialog message stating “’Application Name’ has stopped working” or an expected running service is no longer running, one can track these failures reviewing events in Windows Logs.

@@Start → Server Manager → Tools → Event Viewer@@.
From here, expand @@Windows Logs -> Application@@.  Right click, Filter Current Logs, set Event sources: Application Error.    This will provide a list of events with ID of 1000.  Search through the events for Faulting application name: spoolsv.exe or pc-print.exe.  Failures related to other print components are printisolationhost.exe and splwow64.exe as well as the executable for an application.  Each event will contain “Faulting module name” data.  Failures that can be traced further have information with a print driver binary name.  Ignore module names of ntdll.dll and kernel32.dll, print drivers will call into these modules but they do not directly link back to the print driver.

In the following example MyTestPrintDriver.dll is causing a failure in the print spooler service.
Faulting module name: MyTestPrintDriver.DLL, version: 6.1.14.13, time stamp: 0x52fd1c1a
Exception code: 0xc00000fd
Fault offset: 0x00000000001500da
Faulting process id: 0x2d9c
Faulting application start time: 0x01d0e431c4b366c5
Faulting application path: C:\Windows\system32\spoolsv.exe
Faulting module path: C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL
Report Id: 257c39f8-5025-11e5-82ae-00249b0fae66


On Server 2012 and newer, one can use PowerShell to perform a search of the print drivers installed to determine the print driver associated with this dll file.  Open Windows Powershell, execute the get-printerdriver commandlet.  One can use wildcard characters with a partial binary name.

get-printerdriver | where {$_.ConfigFile -like "*MYTestPrintDriver*" -or $_.DependentFiles -like "*MyTestPrintDriver*" -or $_.Monitor -like "*MYTestPrintDriver*"}
will return
Name                              PrinterEnvironment MajorVersion    Manufacturer
----                                    ------------------          ------------          ------------
My Test Print Driver        Windows x64          3                        TestPrintDriverVendor


On Server 2008 and newer on can use the vbs scripts included with the operating system to filter for the driver name and the binary name.  This method works for Server 2012 and 2012R2 but the previous PowerShell commands are the better choice.
cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\PRNDRVR.VBS -l |findstr /i /c:"Driver Name" /c:MyTestPrintDriver

This will provide a complete listing of the driver names. Look through the list and find the one that uses the faulting module name.

Driver name My Test Print Driver,3,Windows x64
C:\Windows\system32\spool\DRIVERS\x64\3\MyTestPrintDriver.DLL

Armed with the print driver name, one can determine the printers impacted and determine if there is an updated driver for the device or one can evaluate a compatible replacement that would work better in their environment.
Check the vendor website and Windows Update for driver updates.  Test with another driver for the device.


Changed lines 46-47 from:
''Categories:'' [[Category.TODOFirstCategory|+]], [[Category.TODOSecondCategoryIfNeeded|+]]
----
to:
''Categories:'' [[Category.Administration|+]], [[Category.TipsAndTricks|+]], [[Category.Windows|+]], [[Category.Debugging|+]], [[Category.Troubleshooting|+]]----
November 04, 2015, at 12:44 AM by 207.173.83.180 -
Added lines 1-12:
(:title Tracking print related application failures back to a print driver name. Title:)

TODO page content here.

!!Subheading

TODO link your page here: https://www.papercut.com/kb/Main/Miscellaneous

----
''Categories:'' [[Category.TODOFirstCategory|+]], [[Category.TODOSecondCategoryIfNeeded|+]]
----
[-Keywords: TODO keywords here if needed-]

Comments

Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.

Article last modified on November 04, 2015, at 02:19 AM
Printable View   |   Article History   |   Edit Article