Menu

Application Verifier break message

Leaked printer change notification handle detected.

Probable cause

A printer change notification handle that was not closed was detected when the application exited. Most likely the thread that opened the handle did not call FindClosePrinterChangeNotification() to close the handle before the thread exited.

Troubleshooting steps

To troubleshoot this stop:

  • Determine the thread that opened the printer change notification handle.

    • The second parameter of this stop provides the stack address.

    • Use the dps command to dump the stack trace.

  • Find the first non-winspool and non-vfPrint module name that called vfPrint!VfHookFindFirstPrinterChangeNotification. This is typically found in the 4th stack frame.

For example:

Copy Code
=======================================
VERIFIER STOP 0000A001 : pid 0x13E4: Leaked printer change notification handle detected

        00000040 : Printer change notification handle being leaked.
        02946F50 : Initialization stack trace. Use dps to dump the stack trace if it is not NULL.
        00001040 : Thread id of the last thread using it.
        00000000 : Not used.
======================================
0:000> dps 02946F50
02946f50  0243527a vfPrint!CItemTracker(void *)::Init+0x6a
02946f54  02434e30 vfPrint!CHandleTracker_t(void *)::Init+0x20 
02946f58  02434649 vfPrint!VfHookFindFirstPrinterChangeNotification+0x69 
02946f5c  7433e548 PRINTUI!VDataNotify::svNotifyStart+0x23 --------- this is the routine that is suspected of creating and not freeing a printer change notification handle 

Information displayed by Application Verifier

Parameter 1�-�Printer change notification handle being leaked.

Parameter 2�-�Initialization stack trace. Use dps to dump the stack trace if it is not NULL.

Parameter 3�-�Thread id of the last thread using it.

Parameter 4�-�Not used.

Additional information

Test Layer:�PrintAPI

Stop code:�0000A001

Severity:�Error

One-time error:�no

Error report:�Break

Log to file:�yes

Create backtrace:�yes