Jump-start your project by learning from devs who
write Windows drivers and file systems every day.
Take an OSR seminar!

OSR is Hiring! Click here to find out more.

Windows Internals & Software Drivers Lab, Santa Clara, CA 5-9 August, 2013
Kernel Debugging & Crash Analysis for Windows Lab, Santa Clara, CA 9-13 September, 2013
Upcoming OSR Seminars:
Writing WDF Drivers for Windows Lab, Boston, MA 7-11 October, 2013
Developing File Systems for Windows, Seattle, WA 5-8 November, 2013


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 7  
03 Aug 12 23:25
Nicholas Twerdochlib
xxxxxx@bomgar.com
Join Date: 27 Mar 2012
Posts To This List: 142
[nik] exception during last WLK test for WDF Logo Test - Final

During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 !IRP 0xfffffa80070ea900 EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn't complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver.... If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) --
  Message 2 of 7  
03 Aug 12 23:34
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 8276
RE: [nik] exception during last WLK test for WDF Logo Test - Final

3 WDFREQUESTs mapped to the same PIRP would either mean a) You are mismanaging the state of the irp as you pass it to smclib b) Smclib is taking the irp you are handing off to it and then sending it back to your driver via IoCallDirver as a newly formatted request Your power managed queue needs an EvtIoStop routine to acknowledge in flight io, otherwise it will wait for you to complete each request. What is the output of !IRP 0xfffffa80070ea900? From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Nik Twerdochlib Sent: Friday, August 3, 2012 8:25 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn't complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver.... If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --
  Message 3 of 7  
03 Aug 12 23:42
Nicholas Twerdochlib
xxxxxx@bomgar.com
Join Date: 27 Mar 2012
Posts To This List: 142
RE: [nik] exception during last WLK test for WDF Logo Test - Final

0: kd> !IRP 0xfffffa80070ea900 IRP signature does not match, probably not an IRP I am also concerned about this: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl This is not pointing to the EvtIoDeviceControl callback in my driver? But I can't even see what the IRP is. Regarding a) and b); a) I do set the irp to a pending status before passing it down to smclib. I also copy the irp to the next stack location so smclib will not complete my incoming request. b) Based on a), presuming I am correct and acknowledging I am not an expert..., I don't think this is occurring. I am looking into the EvtIoStop idea now. Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan Sent: Friday, August 03, 2012 11:34 PM To: Windows System Software Devs Interest List Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 3 WDFREQUESTs mapped to the same PIRP would either mean a) You are mismanaging the state of the irp as you pass it to smclib b) Smclib is taking the irp you are handing off to it and then sending it back to your driver via IoCallDirver as a newly formatted request Your power managed queue needs an EvtIoStop routine to acknowledge in flight io, otherwise it will wait for you to complete each request. What is the output of !IRP 0xfffffa80070ea900? From: xxxxx@lists.osr.com<mailto:xxxxx@lists.osr.com> [mailto:xxxxx@lists.osr.com]<mailto:[mailto:xxxxx@lists.osr.com]> On Behalf Of Nik Twerdochlib Sent: Friday, August 3, 2012 8:25 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn't complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver.... If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --
  Message 4 of 7  
03 Aug 12 23:53
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 8276
RE: [nik] exception during last WLK test for WDF Logo Test - Final

Are you setting a completion routine? Hopefully before you set the next stack location. Wdf01000!VfEvtIoDeviceControl is the wdf verifier overriding your callback to do further verification, dont worry your callback is there :) d debt from my phone ________________________________ From: Nik Twerdochlib Sent: 8/3/2012 8:42 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 0: kd> !IRP 0xfffffa80070ea900 IRP signature does not match, probably not an IRP I am also concerned about this: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl This is not pointing to the EvtIoDeviceControl callback in my driver? But I can?t even see what the IRP is. Regarding a) and b); a) I do set the irp to a pending status before passing it down to smclib. I also copy the irp to the next stack location so smclib will not complete my incoming request. b) Based on a), presuming I am correct and acknowledging I am not an expert?, I don?t think this is occurring. I am looking into the EvtIoStop idea now. Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support? One of the Fastest-Growing Technology Companies in America | Technology Fast 500? From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan Sent: Friday, August 03, 2012 11:34 PM To: Windows System Software Devs Interest List Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 3 WDFREQUESTs mapped to the same PIRP would either mean a) You are mismanaging the state of the irp as you pass it to smclib b) Smclib is taking the irp you are handing off to it and then sending it back to your driver via IoCallDirver as a newly formatted request Your power managed queue needs an EvtIoStop routine to acknowledge in flight io, otherwise it will wait for you to complete each request. What is the output of !IRP 0xfffffa80070ea900? From: xxxxx@lists.osr.com<mailto:xxxxx@lists.osr.com> [mailto:xxxxx@lists.osr.com]<mailto:[mailto:xxxxx@lists.osr.com]> On Behalf Of Nik Twerdochlib Sent: Friday, August 3, 2012 8:25 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn?t complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver?. If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support? One of the Fastest-Growing Technology Companies in America | Technology Fast 500? --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --
  Message 5 of 7  
03 Aug 12 23:59
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 8276
RE: [nik] exception during last WLK test for WDF Logo Test - Final

What do you do in SmCompletion ? d debt from my phone ________________________________ From: Doron Holan Sent: 8/3/2012 8:53 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: RE: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final Are you setting a completion routine? Hopefully before you set the next stack location. Wdf01000!VfEvtIoDeviceControl is the wdf verifier overriding your callback to do further verification, dont worry your callback is there :) d debt from my phone ________________________________ From: Nik Twerdochlib Sent: 8/3/2012 8:42 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 0: kd> !IRP 0xfffffa80070ea900 IRP signature does not match, probably not an IRP I am also concerned about this: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl This is not pointing to the EvtIoDeviceControl callback in my driver? But I can?t even see what the IRP is. Regarding a) and b); a) I do set the irp to a pending status before passing it down to smclib. I also copy the irp to the next stack location so smclib will not complete my incoming request. b) Based on a), presuming I am correct and acknowledging I am not an expert?, I don?t think this is occurring. I am looking into the EvtIoStop idea now. Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support? One of the Fastest-Growing Technology Companies in America | Technology Fast 500? From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan Sent: Friday, August 03, 2012 11:34 PM To: Windows System Software Devs Interest List Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 3 WDFREQUESTs mapped to the same PIRP would either mean a) You are mismanaging the state of the irp as you pass it to smclib b) Smclib is taking the irp you are handing off to it and then sending it back to your driver via IoCallDirver as a newly formatted request Your power managed queue needs an EvtIoStop routine to acknowledge in flight io, otherwise it will wait for you to complete each request. What is the output of !IRP 0xfffffa80070ea900? From: xxxxx@lists.osr.com<mailto:xxxxx@lists.osr.com> [mailto:xxxxx@lists.osr.com]<mailto:[mailto:xxxxx@lists.osr.com]> On Behalf Of Nik Twerdochlib Sent: Friday, August 3, 2012 8:25 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn?t complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver?. If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support? One of the Fastest-Growing Technology Companies in America | Technology Fast 500? --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --
  Message 6 of 7  
04 Aug 12 00:02
Nicholas Twerdochlib
xxxxxx@bomgar.com
Join Date: 27 Mar 2012
Posts To This List: 142
RE: [nik] exception during last WLK test for WDF Logo Test - Final

__drv_functionClass(IO_COMPLETION_ROUTINE) NTSTATUS SmCompletion(IN PDEVICE_OBJECT pDevObj, IN PIRP pIrp, IN PVOID pContext) { if (!NT_SUCCESS(pIrp->IoStatus.Status)) { PIO_STACK_LOCATION pStack; pStack = IoGetCurrentIrpStackLocation(pIrp); if (pStack->Parameters.DeviceIoControl.IoControlCode != IOCTL_SMARTCARD_SET_ATTRIBUTE) { SmartcardLogError(WdfDriverWdmGetDriverObject(WdfGetDriver()), pIrp->IoStatus.Status, NULL, 0); } } WdfRequestCompleteWithInformation((WDFREQUEST)pContext, pIrp->IoStatus.Status, pIrp->IoStatus.Information); return STATUS_MORE_PROCESSING_REQUIRED; } I think this is pretty standard, just that I added a case for logging. Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan Sent: Friday, August 03, 2012 11:58 PM To: Windows System Software Devs Interest List Subject: RE: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final What do you do in SmCompletion ? d debt from my phone ________________________________ From: Doron Holan Sent: 8/3/2012 8:53 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: RE: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final Are you setting a completion routine? Hopefully before you set the next stack location. Wdf01000!VfEvtIoDeviceControl is the wdf verifier overriding your callback to do further verification, dont worry your callback is there :) d debt from my phone ________________________________ From: Nik Twerdochlib Sent: 8/3/2012 8:42 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 0: kd> !IRP 0xfffffa80070ea900 IRP signature does not match, probably not an IRP I am also concerned about this: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl This is not pointing to the EvtIoDeviceControl callback in my driver? But I can't even see what the IRP is. Regarding a) and b); a) I do set the irp to a pending status before passing it down to smclib. I also copy the irp to the next stack location so smclib will not complete my incoming request. b) Based on a), presuming I am correct and acknowledging I am not an expert..., I don't think this is occurring. I am looking into the EvtIoStop idea now. Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) From: xxxxx@lists.osr.com<mailto:xxxxx@lists.osr.com> [mailto:xxxxx@lists.osr.com]<mailto:[mailto:xxxxx@lists.osr.com]> On Behalf Of Doron Holan Sent: Friday, August 03, 2012 11:34 PM To: Windows System Software Devs Interest List Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 3 WDFREQUESTs mapped to the same PIRP would either mean a) You are mismanaging the state of the irp as you pass it to smclib b) Smclib is taking the irp you are handing off to it and then sending it back to your driver via IoCallDirver as a newly formatted request Your power managed queue needs an EvtIoStop routine to acknowledge in flight io, otherwise it will wait for you to complete each request. What is the output of !IRP 0xfffffa80070ea900? From: xxxxx@lists.osr.com<mailto:xxxxx@lists.osr.com> [mailto:xxxxx@lists.osr.com]<mailto:[mailto:xxxxx@lists.osr.com]> On Behalf Of Nik Twerdochlib Sent: Friday, August 3, 2012 8:25 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn't complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver.... If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --
  Message 7 of 7  
09 Aug 12 11:26
Nicholas Twerdochlib
xxxxxx@bomgar.com
Join Date: 27 Mar 2012
Posts To This List: 142
RE: [nik] exception during last WLK test for WDF Logo Test - Final

Doron, It took me a while to fully understand this reply, but I think I finally got it. I think what was throwing me off is that smclib is not really a library that you would link to in the way you might think. Smclib is a wdm driver. So when I pass down the Irp from my driver, I am passing ownership to smclib.sys. Once I grasped this, I got the EvtIoStop callback functioning correctly. I love writing windows drivers (KMDF), just have not been doing long enough... I have to keep in mind that it is not for the faint at heart.... One minor issue I am still hung up on is why three different wdfrequest objects would point to the same irp? My thinking tells me that might not be right; as is in there is a little surprise waiting for me in this driver! :) Any input on that question would be very welcome. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan Sent: Friday, August 03, 2012 11:34 PM To: Windows System Software Devs Interest List Subject: RE:[ntdev] [nik] exception during last WLK test for WDF Logo Test - Final 3 WDFREQUESTs mapped to the same PIRP would either mean a) You are mismanaging the state of the irp as you pass it to smclib b) Smclib is taking the irp you are handing off to it and then sending it back to your driver via IoCallDirver as a newly formatted request Your power managed queue needs an EvtIoStop routine to acknowledge in flight io, otherwise it will wait for you to complete each request. What is the output of !IRP 0xfffffa80070ea900? From: xxxxx@lists.osr.com<mailto:xxxxx@lists.osr.com> [mailto:xxxxx@lists.osr.com]<mailto:[mailto:xxxxx@lists.osr.com]> On Behalf Of Nik Twerdochlib Sent: Friday, August 3, 2012 8:25 PM To: Windows System Software Devs Interest List Cc: Nik Twerdochlib Subject: [ntdev] [nik] exception during last WLK test for WDF Logo Test - Final During the final test in this group I am getting the following in Windbg: Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (2 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (3 ticks) Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80038BF7B0 (2) status 0 Power Irp Watchdog: warning for PDO=FFFFFA8006648170 Current=FFFFFA8006F27750 IRP=FFFFFA80079E46A0 (2) status 0 Power system watchdog warning (4 ticks) Thread 0xFFFFFA80036B4B50 is waiting for all inflight requests to be acknowledged on WDFQUEUE 0x0000057FF8D343A8 Break instruction exception - code 80000003 (first chance) Dumping the ioqueue in question yields: Dumping WDFQUEUE 0x0000057ff8d343a8 ========================= Parallel, Default, Power-managed, PowerStoppingDriverNotified, Can accept, Can dispatch, ExecutionLevelDispatch, SynchronizationScopeNone Number of driver owned requests: 3 Power transition in progress Number of waiting requests: 0 Number of requests notified about power change: 3 !WDFREQUEST 0x0000057ff92b6988 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff91db918 !IRP 0xfffffa80070ea900 !WDFREQUEST 0x0000057ff94986d8 C EvtIoDeviceControl: (0xfffff88000fe7d98) Wdf01000!VfEvtIoDeviceControl I am concerned that all three wdfrequest objects are representing the same irp? I am using smclib in this driver, so there is some irp stack magic going on so the smclib doesn't complete my incoming wdfrequest. I can not dump the IRP address. It gives an error that the IRP signature does not match. I used !devobj to get the driver object address, but trying to list the device queues with !wdfdevicequeues gives me: c0000005 Exception in wdfkd.wdfdevicequeues debugger extension. PC: 000007fe`e4429a5a VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 If I force the target to shut down and then restart it, the WLK test will still show has passed. However I think there is still something wrong in my driver.... If anyone has any helpful pointers on how to track this down I would appreciate it. Thanks, Nik Twerdochlib Software Developer +1.601.607.8309 O +1.866.522.8678 F BOMGAR | The Box That's Revolutionizing Remote Support(tm) One of the Fastest-Growing Technology Companies in America | Technology Fast 500(tm) --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 13:32.


Copyright ©2012, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license