W2K SCSI Miniport Driver

I continue to try to get a W2K SCSI Miniport driver to work. I have two
problems. The first is when I return from the DriverEntry (after finding
and setting up my hardware interface in the embedded FindAdapter call) W2K
prints:

DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030 device
key 0x80000074
DiskAddDevice: Will not allow file system to mount on partition zero of
disk 0x81851030
DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038 device
key 0x80000050
DiskAddDevice: Will not allow file system to mount on partition zero of
disk 0x81835038

Then there are a series of StartIo calls for READ CAPACITY, READ and
MODE SENSE.

The second problem is that W2K page faults on a 0 ptr but not in my
driver code. I assume this is due to not setting up one of the data
structures for DriverEntry or FindAdapter correctly but I don’t know what
it problem is. The strange thing is by disassembling the code at the
page fault shows that the code compares the pointer to 0x3, then to 0xa
and
when it doesn’t match either of these the code tries to load through the
pointer which has a zero in it and page faults.

The page fault data is:

MM:***PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
*** Fatal System Error: 0x0000000a
(0x00000000,0x00000002,0x00000000,0x804194A5)

Can anyone comment on either or both of these problems?

Thanks
Dave Stallmo

the first (the debug prints) is benign.

for the crash you’d probably need to send out a stack trace. Make sure
you have a kernel debugger attached and valid symbols.

-p

-----Original Message-----
From: David Stallmo [mailto:xxxxx@borg3.com]
Sent: Monday, August 19, 2002 5:56 PM
To: NT Developers Interest List
Subject: [ntdev] W2K SCSI Miniport Driver

I continue to try to get a W2K SCSI Miniport driver to work. I have two

problems. The first is when I return from the DriverEntry (after
finding and setting up my hardware interface in the embedded FindAdapter
call) W2K
prints:

DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
device key 0x80000074
DiskAddDevice: Will not allow file system to mount on partition zero of
disk 0x81851030
DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
device key 0x80000050
DiskAddDevice: Will not allow file system to mount on partition zero of
disk 0x81835038

Then there are a series of StartIo calls for READ CAPACITY, READ and
MODE SENSE.

The second problem is that W2K page faults on a 0 ptr but not in my
driver code. I assume this is due to not setting up one of the data
structures for DriverEntry or FindAdapter correctly but I don’t know
what it problem is. The strange thing is by disassembling the code at
the page fault shows that the code compares the pointer to 0x3, then to
0xa and when it doesn’t match either of these the code tries to load
through the pointer which has a zero in it and page faults.

The page fault data is:

MM:***PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
*** Fatal System Error: 0x0000000a
(0x00000000,0x00000002,0x00000000,0x804194A5)

Can anyone comment on either or both of these problems?

Thanks
Dave Stallmo


You are currently subscribed to ntdev as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%

Attached is the backtrace for the page fault with good symbols.

Dave Stallmo

MM:***PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2

*** Fatal System Error: 0x0000000a
(0x00000000,0x00000002,0x00000000,0x804194A5)

Hard coded breakpoint hit

kb
FramePtr RetAddr Param1 Param2 Param3 Function Name
ffffffffeb422d2c ffffffff8043900e 0000000000000003 0000000000000000
ffffffff804194a5 NT!RtlIntegerToUnicode+0xce
ffffffffeb4230b8 ffffffff804bc190 0000000000000000 0000000000000000
0000000000000002 NT!KeInitializeTimerEx+0xa4
ffffffffeb4230d4 ffffffff804194a5 ffffffffbadb0d00 0000000000000002
ffffffff804dad02 NT!0xFFFFFFFF804BC190
ffffffffeb423158 ffffffff804c01fb ffffffff8183f302 0000000000000120
ffffffff8183f488 NT!ExInitializeResource+0x5f
ffffffffeb42318c ffffffff804bfe53 ffffffff8183f368 0000000000000000
ffffffffeb4231c4 NT!ExFreePoolWithTag+0x2a2
ffffffffeb42319c ffffffff806098b4 ffffffff8183f368 ffffffff8183f368
ffffffffeb4231e4 NT!ExFreePool+0xd
ffffffffeb4231c4 ffffffff80602d9c ffffffffbfe8b4be ffffffffeb423204
ffffffff8183f488 NT!@IovpSessionDataDereference@4+0xd8
ffffffffeb423214 ffffffffbfe786c2 0000000000009000 ffffffffa4e37fdc
ffffffffa4e37f48 NT!@IovSpecialIrpCallDriver@8+0x171
ffffffffeb423244 ffffffffbfe77b57 ffffffff81840658 0000000000000004
0000000000009000 CLASSPNP!ClassSplitRequest+0x17f
ffffffffeb42326c ffffffff80602d0f ffffffff81840658 ffffffff81858148
0000000000000000 CLASSPNP!ClassReadWrite+0x220
ffffffffeb4232b8 ffffffff80514fa8 ffffffff81840658 ffffffff81840710
ffffffff818409d8 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb42336c ffffffff800774bd 0000000000000001 ffffffffeb4233a0
ffffffffeb4233a4 NT!@xHalIoReadPartitionTable@16+0x1ab
ffffffffeb42337c ffffffffeb028b10 ffffffff81840658 0000000000020000
0000000000000001 HAL!IoSetPartitionInformation+0x1
ffffffffeb4233a4 ffffffffbfe84d87 ffffffff81840658 0000000000000000
ffffffffc00000bb DISK!DiskEnumerateDevice+0x7e
ffffffffeb4233bc ffffffffbfe830bb ffffffff81835a30 ffffffffa4e1ff00
ffffffff81840658 CLASSPNP!ClassPnpQueryFdoRelations+0x6f
ffffffffeb4233e8 ffffffff80602d0f ffffffff81840658 ffffffffa4e1ff00
0000000000000000 CLASSPNP!ClassDispatchPnp+0x19f
ffffffffeb423434 ffffffffeb418c0b ffffffffa4e1ffdc ffffffff81840558
ffffffffa4e1ff00 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb423474 ffffffffeb4193ab ffffffff81840558 ffffffffa4e1ff00
ffffffff818404a0 PARTMGR!PmQueryDeviceRelations+0x6d
ffffffffeb4234ac ffffffff80602d0f ffffffff818404a0 ffffffffa4e1ff00
ffffffffa4e1ffdc PARTMGR!PmPnp+0x197
ffffffffeb4234f8 ffffffffeb414316 ffffffffeb423524 ffffffffeb4156c8
ffffffff81834dc0 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb423500 ffffffffeb4156c8 ffffffff81834dc0 ffffffffa4e1ff00
ffffffff81834dc0 DISKPERF!DiskPerfSendToNextDriver+0x1c
ffffffffeb423524 ffffffff80602d0f ffffffff81834dc0 ffffffffa4e1ff00
ffffffffa4e1ff00 DISKPERF!DiskPerfDispatchPnp+0x86
ffffffffeb423570 ffffffff805430ea 0000000000000000 ffffffff81835f28
ffffffff804d1444 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb42359c ffffffff80433cdf ffffffff81834dc0 ffffffffeb4235bc
ffffffffeb423630 NT!IopSynchronousCall+0x109
ffffffffeb4235e4 ffffffff80538284 0000000000000000 ffffffff81835038
0000000000140400 NT!IopAssignNetworkDriveLetter+0xed
ffffffffeb423634 ffffffff80537ecc ffffffff81835038 ffffffffeb42380c
0000000000140400 NT!IopEnumerateDevice+0x196
ffffffffeb423670 ffffffff80537b36 ffffffff81835f28 ffffffffeb42380c
ffffffff80064e2c NT!IopStartAndEnumerateDevice+0x222
ffffffffeb423690 ffffffff8054267a ffffffff81835f28 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0xa6
ffffffffeb4236ac ffffffff80537b1a ffffffff81839ac8 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb4236d0 ffffffff8054267a ffffffff81839af8 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb4236ec ffffffff80537b1a ffffffff8183a288 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb423710 ffffffff8054267a ffffffff8183a2b8 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb42372c ffffffff80537b1a ffffffff818a3448 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb423750 ffffffff8054267a ffffffff818a3478 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb42376c ffffffff80537b1a ffffffff818a6e08 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb423790 ffffffff8054267a ffffffff818a6e38 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb4237ac ffffffff80537b1a ffffffff81884e08 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb4237d0 ffffffff805379dd ffffffff81884e38 ffffffffeb42380c
ffffffff804d1444 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb4237f0 ffffffff8042fb00 ffffffff818a9318 ffffffffeb42380c
ffffffff804d1444 NT!IopProcessStartDevices+0x77
ffffffffeb423830 ffffffff8042f917 ffffffffeb4238a7 ffffffff803f3290
ffffffff803f5d18 NT!IopProcessNewChildren+0x36
ffffffffeb423848 ffffffff80639a63 0000000000000000 0000000000000002
0000000000000000 NT!IopDeviceActionWorker+0x438
ffffffffeb4238a8 ffffffff806383a3 ffffffff80087000 ffffffffeb4239ec
0000000000000000 NT!IopInitializeBootDrivers+0x3d9
ffffffffeb423a4c ffffffff80636afe ffffffff80087000 0000000000000000
0000000000000000 NT!IoInitSystem+0x78a
ffffffffeb423da8 ffffffff804a331a ffffffff80087000 0000000000000000
0000000000000000 NT!Phase1Initialization+0x8c3
ffffffffeb423ddc ffffffff804bdd7a ffffffff806362cf ffffffff80087000
0000000000000000 NT!RtlFindLastBackwardRunClear+0xc2
0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 NT!0xFFFFFFFF804BDD7A
d:\winnt\symbols\SYS\CLASSPNP.dbg for CLASSPNP.SYS (symbols loaded)
Module Load: d:\winnt\symbols\SYS\classpnp.pdb (symbols loaded)
d:\winnt\symbols\SYS\DISK.dbg for DISK.SYS (has mismatched timestamps sym
0x3810E4E7 img 0x389774E8 )
Module Load: d:\winnt\symbols\SYS\disk.pdb (symbols loaded)
d:\winnt\symbols\SYS\PARTMGR.dbg for PARTMGR.SYS (symbols loaded)
Module Load: d:\winnt\symbols\SYS\partmgr.pdb (symbols loaded)
d:\winnt\symbols\SYS\DISKPERF.dbg for DISKPERF.SYS (symbols loaded)
Module Load: d:\winnt\symbols\SYS\diskperf.pdb (symbols loaded)

[Original Message]
From: Peter Wieland
> To: NT Developers Interest List
> Date: 8/20/2002 10:12:26 AM
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> the first (the debug prints) is benign.
>
> for the crash you’d probably need to send out a stack trace. Make sure
> you have a kernel debugger attached and valid symbols.
>
> -p
>
> -----Original Message-----
> From: David Stallmo [mailto:xxxxx@borg3.com]=20
> Sent: Monday, August 19, 2002 5:56 PM
> To: NT Developers Interest List
> Subject: [ntdev] W2K SCSI Miniport Driver
>
>
> I continue to try to get a W2K SCSI Miniport driver to work. I have two
>
> problems. The first is when I return from the DriverEntry (after
> finding and setting up my hardware interface in the embedded FindAdapter
> call) W2K
> prints:
>
> DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
> device key 0x80000074
> DiskAddDevice: Will not allow file system to mount on partition zero of
> disk 0x81851030
> DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
> device key 0x80000050
> DiskAddDevice: Will not allow file system to mount on partition zero of
> disk 0x81835038
>
> Then there are a series of StartIo calls for READ CAPACITY, READ and
> MODE SENSE.
>
> The second problem is that W2K page faults on a 0 ptr but not in my
> driver code. I assume this is due to not setting up one of the data=20
> structures for DriverEntry or FindAdapter correctly but I don’t know
> what it problem is. The strange thing is by disassembling the code at
> the page fault shows that the code compares the pointer to 0x3, then to
> 0xa and when it doesn’t match either of these the code tries to load
> through the pointer which has a zero in it and page faults.
>
> The page fault data is:
>
> MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
>
Fatal System Error: 0x0000000a
> (0x00000000,0x00000002,0x00000000,0x804194A5)
>
> Can anyone comment on either or both of these problems?
>
> Thanks
> Dave Stallmo
>
> —
> You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> unsubscribe send a blank email to %%email.unsub%%
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@borg3.com
> To unsubscribe send a blank email to %%email.unsub%%

What version of the debugger are you using? This doesn’t look like version
6 (download from http://www.microsoft.com/ddk/debugging) output at all.

You have a null pointer dereference here (Parameter # 1 - address of
operation). The IRQL is DISPATCH_LEVEL (parameter # 2) and it was a read
(parameter # 3) operation.

The stack trace you are showing is junk - these functions do not call one
another. This means you are either (a) using the wrong symbols; or (b)
using the wrong debugger, or both. Are you using the Microsoft symbol
server for your symbols? If not, you should really do so (read the
documentation on the page I cited above.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Hope to see you at the next OSR file systems class in San Jose, CA September
16, 2002!

-----Original Message-----
From: David Stallmo [mailto:xxxxx@earthlink.net]
Sent: Tuesday, August 20, 2002 6:16 PM
To: NT Developers Interest List
Subject: [ntdev] RE: W2K SCSI Miniport Driver

Attached is the backtrace for the page fault with good symbols.

Dave Stallmo

MM:***PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2

*** Fatal System Error: 0x0000000a
(0x00000000,0x00000002,0x00000000,0x804194A5)

Hard coded breakpoint hit

kb
FramePtr RetAddr Param1 Param2 Param3 Function Name
ffffffffeb422d2c ffffffff8043900e 0000000000000003 0000000000000000
ffffffff804194a5 NT!RtlIntegerToUnicode+0xce
ffffffffeb4230b8 ffffffff804bc190 0000000000000000 0000000000000000
0000000000000002 NT!KeInitializeTimerEx+0xa4
ffffffffeb4230d4 ffffffff804194a5 ffffffffbadb0d00 0000000000000002
ffffffff804dad02 NT!0xFFFFFFFF804BC190
ffffffffeb423158 ffffffff804c01fb ffffffff8183f302 0000000000000120
ffffffff8183f488 NT!ExInitializeResource+0x5f
ffffffffeb42318c ffffffff804bfe53 ffffffff8183f368 0000000000000000
ffffffffeb4231c4 NT!ExFreePoolWithTag+0x2a2
ffffffffeb42319c ffffffff806098b4 ffffffff8183f368 ffffffff8183f368
ffffffffeb4231e4 NT!ExFreePool+0xd
ffffffffeb4231c4 ffffffff80602d9c ffffffffbfe8b4be ffffffffeb423204
ffffffff8183f488 NT!@IovpSessionDataDereference@4+0xd8
ffffffffeb423214 ffffffffbfe786c2 0000000000009000 ffffffffa4e37fdc
ffffffffa4e37f48 NT!@IovSpecialIrpCallDriver@8+0x171
ffffffffeb423244 ffffffffbfe77b57 ffffffff81840658 0000000000000004
0000000000009000 CLASSPNP!ClassSplitRequest+0x17f
ffffffffeb42326c ffffffff80602d0f ffffffff81840658 ffffffff81858148
0000000000000000 CLASSPNP!ClassReadWrite+0x220
ffffffffeb4232b8 ffffffff80514fa8 ffffffff81840658 ffffffff81840710
ffffffff818409d8 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb42336c ffffffff800774bd 0000000000000001 ffffffffeb4233a0
ffffffffeb4233a4 NT!@xHalIoReadPartitionTable@16+0x1ab
ffffffffeb42337c ffffffffeb028b10 ffffffff81840658 0000000000020000
0000000000000001 HAL!IoSetPartitionInformation+0x1
ffffffffeb4233a4 ffffffffbfe84d87 ffffffff81840658 0000000000000000
ffffffffc00000bb DISK!DiskEnumerateDevice+0x7e
ffffffffeb4233bc ffffffffbfe830bb ffffffff81835a30 ffffffffa4e1ff00
ffffffff81840658 CLASSPNP!ClassPnpQueryFdoRelations+0x6f
ffffffffeb4233e8 ffffffff80602d0f ffffffff81840658 ffffffffa4e1ff00
0000000000000000 CLASSPNP!ClassDispatchPnp+0x19f
ffffffffeb423434 ffffffffeb418c0b ffffffffa4e1ffdc ffffffff81840558
ffffffffa4e1ff00 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb423474 ffffffffeb4193ab ffffffff81840558 ffffffffa4e1ff00
ffffffff818404a0 PARTMGR!PmQueryDeviceRelations+0x6d
ffffffffeb4234ac ffffffff80602d0f ffffffff818404a0 ffffffffa4e1ff00
ffffffffa4e1ffdc PARTMGR!PmPnp+0x197
ffffffffeb4234f8 ffffffffeb414316 ffffffffeb423524 ffffffffeb4156c8
ffffffff81834dc0 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb423500 ffffffffeb4156c8 ffffffff81834dc0 ffffffffa4e1ff00
ffffffff81834dc0 DISKPERF!DiskPerfSendToNextDriver+0x1c
ffffffffeb423524 ffffffff80602d0f ffffffff81834dc0 ffffffffa4e1ff00
ffffffffa4e1ff00 DISKPERF!DiskPerfDispatchPnp+0x86
ffffffffeb423570 ffffffff805430ea 0000000000000000 ffffffff81835f28
ffffffff804d1444 NT!@IovSpecialIrpCallDriver@8+0xe4
ffffffffeb42359c ffffffff80433cdf ffffffff81834dc0 ffffffffeb4235bc
ffffffffeb423630 NT!IopSynchronousCall+0x109
ffffffffeb4235e4 ffffffff80538284 0000000000000000 ffffffff81835038
0000000000140400 NT!IopAssignNetworkDriveLetter+0xed
ffffffffeb423634 ffffffff80537ecc ffffffff81835038 ffffffffeb42380c
0000000000140400 NT!IopEnumerateDevice+0x196
ffffffffeb423670 ffffffff80537b36 ffffffff81835f28 ffffffffeb42380c
ffffffff80064e2c NT!IopStartAndEnumerateDevice+0x222
ffffffffeb423690 ffffffff8054267a ffffffff81835f28 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0xa6
ffffffffeb4236ac ffffffff80537b1a ffffffff81839ac8 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb4236d0 ffffffff8054267a ffffffff81839af8 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb4236ec ffffffff80537b1a ffffffff8183a288 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb423710 ffffffff8054267a ffffffff8183a2b8 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb42372c ffffffff80537b1a ffffffff818a3448 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb423750 ffffffff8054267a ffffffff818a3478 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb42376c ffffffff80537b1a ffffffff818a6e08 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb423790 ffffffff8054267a ffffffff818a6e38 ffffffffeb42380c
0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb4237ac ffffffff80537b1a ffffffff81884e08 ffffffff80537a8e
ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
ffffffffeb4237d0 ffffffff805379dd ffffffff81884e38 ffffffffeb42380c
ffffffff804d1444 NT!IopProcessStartDevicesWorker+0x8a
ffffffffeb4237f0 ffffffff8042fb00 ffffffff818a9318 ffffffffeb42380c
ffffffff804d1444 NT!IopProcessStartDevices+0x77
ffffffffeb423830 ffffffff8042f917 ffffffffeb4238a7 ffffffff803f3290
ffffffff803f5d18 NT!IopProcessNewChildren+0x36
ffffffffeb423848 ffffffff80639a63 0000000000000000 0000000000000002
0000000000000000 NT!IopDeviceActionWorker+0x438
ffffffffeb4238a8 ffffffff806383a3 ffffffff80087000 ffffffffeb4239ec
0000000000000000 NT!IopInitializeBootDrivers+0x3d9
ffffffffeb423a4c ffffffff80636afe ffffffff80087000 0000000000000000
0000000000000000 NT!IoInitSystem+0x78a
ffffffffeb423da8 ffffffff804a331a ffffffff80087000 0000000000000000
0000000000000000 NT!Phase1Initialization+0x8c3
ffffffffeb423ddc ffffffff804bdd7a ffffffff806362cf ffffffff80087000
0000000000000000 NT!RtlFindLastBackwardRunClear+0xc2
0000000000000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 NT!0xFFFFFFFF804BDD7A
d:\winnt\symbols\SYS\CLASSPNP.dbg for CLASSPNP.SYS (symbols loaded)
Module Load: d:\winnt\symbols\SYS\classpnp.pdb (symbols loaded)
d:\winnt\symbols\SYS\DISK.dbg for DISK.SYS (has mismatched timestamps sym
0x3810E4E7 img 0x389774E8 )
Module Load: d:\winnt\symbols\SYS\disk.pdb (symbols loaded)
d:\winnt\symbols\SYS\PARTMGR.dbg for PARTMGR.SYS (symbols loaded)
Module Load: d:\winnt\symbols\SYS\partmgr.pdb (symbols loaded)
d:\winnt\symbols\SYS\DISKPERF.dbg for DISKPERF.SYS (symbols loaded)
Module Load: d:\winnt\symbols\SYS\diskperf.pdb (symbols loaded)

[Original Message]
From: Peter Wieland
> To: NT Developers Interest List
> Date: 8/20/2002 10:12:26 AM
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> the first (the debug prints) is benign.
>
> for the crash you’d probably need to send out a stack trace. Make sure
> you have a kernel debugger attached and valid symbols.
>
> -p
>
> -----Original Message-----
> From: David Stallmo [mailto:xxxxx@borg3.com]=20
> Sent: Monday, August 19, 2002 5:56 PM
> To: NT Developers Interest List
> Subject: [ntdev] W2K SCSI Miniport Driver
>
>
> I continue to try to get a W2K SCSI Miniport driver to work. I have two
>
> problems. The first is when I return from the DriverEntry (after
> finding and setting up my hardware interface in the embedded FindAdapter
> call) W2K
> prints:
>
> DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
> device key 0x80000074
> DiskAddDevice: Will not allow file system to mount on partition zero of
> disk 0x81851030
> DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
> device key 0x80000050
> DiskAddDevice: Will not allow file system to mount on partition zero of
> disk 0x81835038
>
> Then there are a series of StartIo calls for READ CAPACITY, READ and
> MODE SENSE.
>
> The second problem is that W2K page faults on a 0 ptr but not in my
> driver code. I assume this is due to not setting up one of the data=20
> structures for DriverEntry or FindAdapter correctly but I don’t know
> what it problem is. The strange thing is by disassembling the code at
> the page fault shows that the code compares the pointer to 0x3, then to
> 0xa and when it doesn’t match either of these the code tries to load
> through the pointer which has a zero in it and page faults.
>
> The page fault data is:
>
> MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
>
Fatal System Error: 0x0000000a
> (0x00000000,0x00000002,0x00000000,0x804194A5)
>
> Can anyone comment on either or both of these problems?
>
> Thanks
> Dave Stallmo
>
> —
> You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> unsubscribe send a blank email to %%email.unsub%%
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@borg3.com
> To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to ntdev as: xxxxx@osr.com
To unsubscribe send a blank email to %%email.unsub%%

I am using version 5.00.2195.11 of the debugger. The debugger comes with
the ddk I downloaded from
www.microsoft.com. I am using the symbols from
www.microsoft.com/windows2000/downloads/tools/symbols as specified by the
ddk documentation so it should (I would hope) match the w2k checked version
(no SP’s
loaded). The debugger that comes with the symbols is 5.00.2184.1. I’ll
make sure that they match exactly
but I expect after I do this someone will suggest that there is some other
version of tools/symbols/OS’s/machines/days of the week.

— David Stallmo
xxxxx@earthlink.net
— EarthLink: The #1 provider of the Real Internet.

[Original Message]
From: Tony Mason
> To: NT Developers Interest List
> Date: 8/20/2002 5:41:34 PM
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> What version of the debugger are you using? This doesn’t look like
version
> 6 (download from http://www.microsoft.com/ddk/debugging) output at all.
>
> You have a null pointer dereference here (Parameter # 1 - address of
> operation). The IRQL is DISPATCH_LEVEL (parameter # 2) and it was a read
> (parameter # 3) operation.
>
> The stack trace you are showing is junk - these functions do not call one
> another. This means you are either (a) using the wrong symbols; or (b)
> using the wrong debugger, or both. Are you using the Microsoft symbol
> server for your symbols? If not, you should really do so (read the
> documentation on the page I cited above.
>
> Regards,
>
> Tony
>
> Tony Mason
> Consulting Partner
> OSR Open Systems Resources, Inc.
> http://www.osr.com
>
> Hope to see you at the next OSR file systems class in San Jose, CA
September
> 16, 2002!
>
> -----Original Message-----
> From: David Stallmo [mailto:xxxxx@earthlink.net]
> Sent: Tuesday, August 20, 2002 6:16 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
>
> Attached is the backtrace for the page fault with good symbols.
>
> Dave Stallmo
>
>
> MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
>
>
Fatal System Error: 0x0000000a
> (0x00000000,0x00000002,0x00000000,0x804194A5)
>
> Hard coded breakpoint hit
> > kb
> FramePtr RetAddr Param1 Param2 Param3 Function
Name
> ffffffffeb422d2c ffffffff8043900e 0000000000000003 0000000000000000
> ffffffff804194a5 NT!RtlIntegerToUnicode+0xce
> ffffffffeb4230b8 ffffffff804bc190 0000000000000000 0000000000000000
> 0000000000000002 NT!KeInitializeTimerEx+0xa4
> ffffffffeb4230d4 ffffffff804194a5 ffffffffbadb0d00 0000000000000002
> ffffffff804dad02 NT!0xFFFFFFFF804BC190
> ffffffffeb423158 ffffffff804c01fb ffffffff8183f302 0000000000000120
> ffffffff8183f488 NT!ExInitializeResource+0x5f
> ffffffffeb42318c ffffffff804bfe53 ffffffff8183f368 0000000000000000
> ffffffffeb4231c4 NT!ExFreePoolWithTag+0x2a2
> ffffffffeb42319c ffffffff806098b4 ffffffff8183f368 ffffffff8183f368
> ffffffffeb4231e4 NT!ExFreePool+0xd
> ffffffffeb4231c4 ffffffff80602d9c ffffffffbfe8b4be ffffffffeb423204
> ffffffff8183f488 NT!@IovpSessionDataDereference@4+0xd8
> ffffffffeb423214 ffffffffbfe786c2 0000000000009000 ffffffffa4e37fdc
> ffffffffa4e37f48 NT!@IovSpecialIrpCallDriver@8+0x171
> ffffffffeb423244 ffffffffbfe77b57 ffffffff81840658 0000000000000004
> 0000000000009000 CLASSPNP!ClassSplitRequest+0x17f
> ffffffffeb42326c ffffffff80602d0f ffffffff81840658 ffffffff81858148
> 0000000000000000 CLASSPNP!ClassReadWrite+0x220
> ffffffffeb4232b8 ffffffff80514fa8 ffffffff81840658 ffffffff81840710
> ffffffff818409d8 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb42336c ffffffff800774bd 0000000000000001 ffffffffeb4233a0
> ffffffffeb4233a4 NT!@xHalIoReadPartitionTable@16+0x1ab
> ffffffffeb42337c ffffffffeb028b10 ffffffff81840658 0000000000020000
> 0000000000000001 HAL!IoSetPartitionInformation+0x1
> ffffffffeb4233a4 ffffffffbfe84d87 ffffffff81840658 0000000000000000
> ffffffffc00000bb DISK!DiskEnumerateDevice+0x7e
> ffffffffeb4233bc ffffffffbfe830bb ffffffff81835a30 ffffffffa4e1ff00
> ffffffff81840658 CLASSPNP!ClassPnpQueryFdoRelations+0x6f
> ffffffffeb4233e8 ffffffff80602d0f ffffffff81840658 ffffffffa4e1ff00
> 0000000000000000 CLASSPNP!ClassDispatchPnp+0x19f
> ffffffffeb423434 ffffffffeb418c0b ffffffffa4e1ffdc ffffffff81840558
> ffffffffa4e1ff00 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb423474 ffffffffeb4193ab ffffffff81840558 ffffffffa4e1ff00
> ffffffff818404a0 PARTMGR!PmQueryDeviceRelations+0x6d
> ffffffffeb4234ac ffffffff80602d0f ffffffff818404a0 ffffffffa4e1ff00
> ffffffffa4e1ffdc PARTMGR!PmPnp+0x197
> ffffffffeb4234f8 ffffffffeb414316 ffffffffeb423524 ffffffffeb4156c8
> ffffffff81834dc0 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb423500 ffffffffeb4156c8 ffffffff81834dc0 ffffffffa4e1ff00
> ffffffff81834dc0 DISKPERF!DiskPerfSendToNextDriver+0x1c
> ffffffffeb423524 ffffffff80602d0f ffffffff81834dc0 ffffffffa4e1ff00
> ffffffffa4e1ff00 DISKPERF!DiskPerfDispatchPnp+0x86
> ffffffffeb423570 ffffffff805430ea 0000000000000000 ffffffff81835f28
> ffffffff804d1444 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb42359c ffffffff80433cdf ffffffff81834dc0 ffffffffeb4235bc
> ffffffffeb423630 NT!IopSynchronousCall+0x109
> ffffffffeb4235e4 ffffffff80538284 0000000000000000 ffffffff81835038
> 0000000000140400 NT!IopAssignNetworkDriveLetter+0xed
> ffffffffeb423634 ffffffff80537ecc ffffffff81835038 ffffffffeb42380c
> 0000000000140400 NT!IopEnumerateDevice+0x196
> ffffffffeb423670 ffffffff80537b36 ffffffff81835f28 ffffffffeb42380c
> ffffffff80064e2c NT!IopStartAndEnumerateDevice+0x222
> ffffffffeb423690 ffffffff8054267a ffffffff81835f28 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0xa6
> ffffffffeb4236ac ffffffff80537b1a ffffffff81839ac8 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb4236d0 ffffffff8054267a ffffffff81839af8 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4236ec ffffffff80537b1a ffffffff8183a288 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423710 ffffffff8054267a ffffffff8183a2b8 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb42372c ffffffff80537b1a ffffffff818a3448 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423750 ffffffff8054267a ffffffff818a3478 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb42376c ffffffff80537b1a ffffffff818a6e08 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423790 ffffffff8054267a ffffffff818a6e38 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4237ac ffffffff80537b1a ffffffff81884e08 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb4237d0 ffffffff805379dd ffffffff81884e38 ffffffffeb42380c
> ffffffff804d1444 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4237f0 ffffffff8042fb00 ffffffff818a9318 ffffffffeb42380c
> ffffffff804d1444 NT!IopProcessStartDevices+0x77
> ffffffffeb423830 ffffffff8042f917 ffffffffeb4238a7 ffffffff803f3290
> ffffffff803f5d18 NT!IopProcessNewChildren+0x36
> ffffffffeb423848 ffffffff80639a63 0000000000000000 0000000000000002
> 0000000000000000 NT!IopDeviceActionWorker+0x438
> ffffffffeb4238a8 ffffffff806383a3 ffffffff80087000 ffffffffeb4239ec
> 0000000000000000 NT!IopInitializeBootDrivers+0x3d9
> ffffffffeb423a4c ffffffff80636afe ffffffff80087000 0000000000000000
> 0000000000000000 NT!IoInitSystem+0x78a
> ffffffffeb423da8 ffffffff804a331a ffffffff80087000 0000000000000000
> 0000000000000000 NT!Phase1Initialization+0x8c3
> ffffffffeb423ddc ffffffff804bdd7a ffffffff806362cf ffffffff80087000
> 0000000000000000 NT!RtlFindLastBackwardRunClear+0xc2
> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000 NT!0xFFFFFFFF804BDD7A
> d:\winnt\symbols\SYS\CLASSPNP.dbg for CLASSPNP.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\classpnp.pdb (symbols loaded)
> d:\winnt\symbols\SYS\DISK.dbg for DISK.SYS (has mismatched timestamps sym
> 0x3810E4E7 img 0x389774E8 )
> Module Load: d:\winnt\symbols\SYS\disk.pdb (symbols loaded)
> d:\winnt\symbols\SYS\PARTMGR.dbg for PARTMGR.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\partmgr.pdb (symbols loaded)
> d:\winnt\symbols\SYS\DISKPERF.dbg for DISKPERF.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\diskperf.pdb (symbols loaded)
>
>
> > [Original Message]
> > From: Peter Wieland
> > To: NT Developers Interest List
> > Date: 8/20/2002 10:12:26 AM
> > Subject: [ntdev] RE: W2K SCSI Miniport Driver
> >
> > the first (the debug prints) is benign.
> >
> > for the crash you’d probably need to send out a stack trace. Make sure
> > you have a kernel debugger attached and valid symbols.
> >
> > -p
> >
> > -----Original Message-----
> > From: David Stallmo [mailto:xxxxx@borg3.com]=20
> > Sent: Monday, August 19, 2002 5:56 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] W2K SCSI Miniport Driver
> >
> >
> > I continue to try to get a W2K SCSI Miniport driver to work. I have two
> >
> > problems. The first is when I return from the DriverEntry (after
> > finding and setting up my hardware interface in the embedded FindAdapter
> > call) W2K
> > prints:
> >
> > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
> > device key 0x80000074
> > DiskAddDevice: Will not allow file system to mount on partition zero of
> > disk 0x81851030
> > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
> > device key 0x80000050
> > DiskAddDevice: Will not allow file system to mount on partition zero of
> > disk 0x81835038
> >
> > Then there are a series of StartIo calls for READ CAPACITY, READ and
> > MODE SENSE.
> >
> > The second problem is that W2K page faults on a 0 ptr but not in my
> > driver code. I assume this is due to not setting up one of the data=20
> > structures for DriverEntry or FindAdapter correctly but I don’t know
> > what it problem is. The strange thing is by disassembling the code at
> > the page fault shows that the code compares the pointer to 0x3, then to
> > 0xa and when it doesn’t match either of these the code tries to load
> > through the pointer which has a zero in it and page faults.
> >
> > The page fault data is:
> >
> > MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
> >
Fatal System Error: 0x0000000a
> > (0x00000000,0x00000002,0x00000000,0x804194A5)
> >
> > Can anyone comment on either or both of these problems?
> >
> > Thanks
> > Dave Stallmo
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> > unsubscribe send a blank email to %%email.unsub%%
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@borg3.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@osr.com
> To unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@borg3.com
> To unsubscribe send a blank email to %%email.unsub%%

I am running version 5.0 of the debugger from the same download as I got
the symbols from
(www.microsoft.com/windows2000/downloads/tools/symbols/download.asp). I am
doing the development
using the ddk for w2k from the microsoft site.

I found the page with the symbols I downloaded by going through the Windows
2000 Customer Support
Diagnostics that is referenced in the ddk documentation for loading
symbols. Are you indicating that this
is not the correct place to get symbols? The ddk documentation does not
reference the Microsoft symbol
server or the page you reference.

If I change to this alternate location for symbols and tools will they be
consistent with the microsoft ddk?

Dave Stallmo

[Original Message]
From: Tony Mason
> To: NT Developers Interest List
> Date: 8/20/2002 5:41:34 PM
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> What version of the debugger are you using? This doesn’t look like
version
> 6 (download from http://www.microsoft.com/ddk/debugging) output at all.
>
> You have a null pointer dereference here (Parameter # 1 - address of
> operation). The IRQL is DISPATCH_LEVEL (parameter # 2) and it was a read
> (parameter # 3) operation.
>
> The stack trace you are showing is junk - these functions do not call one
> another. This means you are either (a) using the wrong symbols; or (b)
> using the wrong debugger, or both. Are you using the Microsoft symbol
> server for your symbols? If not, you should really do so (read the
> documentation on the page I cited above.
>
> Regards,
>
> Tony
>
> Tony Mason
> Consulting Partner
> OSR Open Systems Resources, Inc.
> http://www.osr.com
>
> Hope to see you at the next OSR file systems class in San Jose, CA
September
> 16, 2002!
>
> -----Original Message-----
> From: David Stallmo [mailto:xxxxx@earthlink.net]
> Sent: Tuesday, August 20, 2002 6:16 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
>
> Attached is the backtrace for the page fault with good symbols.
>
> Dave Stallmo
>
>
> MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
>
>
Fatal System Error: 0x0000000a
> (0x00000000,0x00000002,0x00000000,0x804194A5)
>
> Hard coded breakpoint hit
> > kb
> FramePtr RetAddr Param1 Param2 Param3 Function
Name
> ffffffffeb422d2c ffffffff8043900e 0000000000000003 0000000000000000
> ffffffff804194a5 NT!RtlIntegerToUnicode+0xce
> ffffffffeb4230b8 ffffffff804bc190 0000000000000000 0000000000000000
> 0000000000000002 NT!KeInitializeTimerEx+0xa4
> ffffffffeb4230d4 ffffffff804194a5 ffffffffbadb0d00 0000000000000002
> ffffffff804dad02 NT!0xFFFFFFFF804BC190
> ffffffffeb423158 ffffffff804c01fb ffffffff8183f302 0000000000000120
> ffffffff8183f488 NT!ExInitializeResource+0x5f
> ffffffffeb42318c ffffffff804bfe53 ffffffff8183f368 0000000000000000
> ffffffffeb4231c4 NT!ExFreePoolWithTag+0x2a2
> ffffffffeb42319c ffffffff806098b4 ffffffff8183f368 ffffffff8183f368
> ffffffffeb4231e4 NT!ExFreePool+0xd
> ffffffffeb4231c4 ffffffff80602d9c ffffffffbfe8b4be ffffffffeb423204
> ffffffff8183f488 NT!@IovpSessionDataDereference@4+0xd8
> ffffffffeb423214 ffffffffbfe786c2 0000000000009000 ffffffffa4e37fdc
> ffffffffa4e37f48 NT!@IovSpecialIrpCallDriver@8+0x171
> ffffffffeb423244 ffffffffbfe77b57 ffffffff81840658 0000000000000004
> 0000000000009000 CLASSPNP!ClassSplitRequest+0x17f
> ffffffffeb42326c ffffffff80602d0f ffffffff81840658 ffffffff81858148
> 0000000000000000 CLASSPNP!ClassReadWrite+0x220
> ffffffffeb4232b8 ffffffff80514fa8 ffffffff81840658 ffffffff81840710
> ffffffff818409d8 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb42336c ffffffff800774bd 0000000000000001 ffffffffeb4233a0
> ffffffffeb4233a4 NT!@xHalIoReadPartitionTable@16+0x1ab
> ffffffffeb42337c ffffffffeb028b10 ffffffff81840658 0000000000020000
> 0000000000000001 HAL!IoSetPartitionInformation+0x1
> ffffffffeb4233a4 ffffffffbfe84d87 ffffffff81840658 0000000000000000
> ffffffffc00000bb DISK!DiskEnumerateDevice+0x7e
> ffffffffeb4233bc ffffffffbfe830bb ffffffff81835a30 ffffffffa4e1ff00
> ffffffff81840658 CLASSPNP!ClassPnpQueryFdoRelations+0x6f
> ffffffffeb4233e8 ffffffff80602d0f ffffffff81840658 ffffffffa4e1ff00
> 0000000000000000 CLASSPNP!ClassDispatchPnp+0x19f
> ffffffffeb423434 ffffffffeb418c0b ffffffffa4e1ffdc ffffffff81840558
> ffffffffa4e1ff00 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb423474 ffffffffeb4193ab ffffffff81840558 ffffffffa4e1ff00
> ffffffff818404a0 PARTMGR!PmQueryDeviceRelations+0x6d
> ffffffffeb4234ac ffffffff80602d0f ffffffff818404a0 ffffffffa4e1ff00
> ffffffffa4e1ffdc PARTMGR!PmPnp+0x197
> ffffffffeb4234f8 ffffffffeb414316 ffffffffeb423524 ffffffffeb4156c8
> ffffffff81834dc0 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb423500 ffffffffeb4156c8 ffffffff81834dc0 ffffffffa4e1ff00
> ffffffff81834dc0 DISKPERF!DiskPerfSendToNextDriver+0x1c
> ffffffffeb423524 ffffffff80602d0f ffffffff81834dc0 ffffffffa4e1ff00
> ffffffffa4e1ff00 DISKPERF!DiskPerfDispatchPnp+0x86
> ffffffffeb423570 ffffffff805430ea 0000000000000000 ffffffff81835f28
> ffffffff804d1444 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb42359c ffffffff80433cdf ffffffff81834dc0 ffffffffeb4235bc
> ffffffffeb423630 NT!IopSynchronousCall+0x109
> ffffffffeb4235e4 ffffffff80538284 0000000000000000 ffffffff81835038
> 0000000000140400 NT!IopAssignNetworkDriveLetter+0xed
> ffffffffeb423634 ffffffff80537ecc ffffffff81835038 ffffffffeb42380c
> 0000000000140400 NT!IopEnumerateDevice+0x196
> ffffffffeb423670 ffffffff80537b36 ffffffff81835f28 ffffffffeb42380c
> ffffffff80064e2c NT!IopStartAndEnumerateDevice+0x222
> ffffffffeb423690 ffffffff8054267a ffffffff81835f28 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0xa6
> ffffffffeb4236ac ffffffff80537b1a ffffffff81839ac8 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb4236d0 ffffffff8054267a ffffffff81839af8 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4236ec ffffffff80537b1a ffffffff8183a288 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423710 ffffffff8054267a ffffffff8183a2b8 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb42372c ffffffff80537b1a ffffffff818a3448 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423750 ffffffff8054267a ffffffff818a3478 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb42376c ffffffff80537b1a ffffffff818a6e08 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423790 ffffffff8054267a ffffffff818a6e38 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4237ac ffffffff80537b1a ffffffff81884e08 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb4237d0 ffffffff805379dd ffffffff81884e38 ffffffffeb42380c
> ffffffff804d1444 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4237f0 ffffffff8042fb00 ffffffff818a9318 ffffffffeb42380c
> ffffffff804d1444 NT!IopProcessStartDevices+0x77
> ffffffffeb423830 ffffffff8042f917 ffffffffeb4238a7 ffffffff803f3290
> ffffffff803f5d18 NT!IopProcessNewChildren+0x36
> ffffffffeb423848 ffffffff80639a63 0000000000000000 0000000000000002
> 0000000000000000 NT!IopDeviceActionWorker+0x438
> ffffffffeb4238a8 ffffffff806383a3 ffffffff80087000 ffffffffeb4239ec
> 0000000000000000 NT!IopInitializeBootDrivers+0x3d9
> ffffffffeb423a4c ffffffff80636afe ffffffff80087000 0000000000000000
> 0000000000000000 NT!IoInitSystem+0x78a
> ffffffffeb423da8 ffffffff804a331a ffffffff80087000 0000000000000000
> 0000000000000000 NT!Phase1Initialization+0x8c3
> ffffffffeb423ddc ffffffff804bdd7a ffffffff806362cf ffffffff80087000
> 0000000000000000 NT!RtlFindLastBackwardRunClear+0xc2
> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000 NT!0xFFFFFFFF804BDD7A
> d:\winnt\symbols\SYS\CLASSPNP.dbg for CLASSPNP.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\classpnp.pdb (symbols loaded)
> d:\winnt\symbols\SYS\DISK.dbg for DISK.SYS (has mismatched timestamps sym
> 0x3810E4E7 img 0x389774E8 )
> Module Load: d:\winnt\symbols\SYS\disk.pdb (symbols loaded)
> d:\winnt\symbols\SYS\PARTMGR.dbg for PARTMGR.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\partmgr.pdb (symbols loaded)
> d:\winnt\symbols\SYS\DISKPERF.dbg for DISKPERF.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\diskperf.pdb (symbols loaded)
>
>
> > [Original Message]
> > From: Peter Wieland
> > To: NT Developers Interest List
> > Date: 8/20/2002 10:12:26 AM
> > Subject: [ntdev] RE: W2K SCSI Miniport Driver
> >
> > the first (the debug prints) is benign.
> >
> > for the crash you’d probably need to send out a stack trace. Make sure
> > you have a kernel debugger attached and valid symbols.
> >
> > -p
> >
> > -----Original Message-----
> > From: David Stallmo [mailto:xxxxx@borg3.com]=20
> > Sent: Monday, August 19, 2002 5:56 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] W2K SCSI Miniport Driver
> >
> >
> > I continue to try to get a W2K SCSI Miniport driver to work. I have two
> >
> > problems. The first is when I return from the DriverEntry (after
> > finding and setting up my hardware interface in the embedded FindAdapter
> > call) W2K
> > prints:
> >
> > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
> > device key 0x80000074
> > DiskAddDevice: Will not allow file system to mount on partition zero of
> > disk 0x81851030
> > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
> > device key 0x80000050
> > DiskAddDevice: Will not allow file system to mount on partition zero of
> > disk 0x81835038
> >
> > Then there are a series of StartIo calls for READ CAPACITY, READ and
> > MODE SENSE.
> >
> > The second problem is that W2K page faults on a 0 ptr but not in my
> > driver code. I assume this is due to not setting up one of the data=20
> > structures for DriverEntry or FindAdapter correctly but I don’t know
> > what it problem is. The strange thing is by disassembling the code at
> > the page fault shows that the code compares the pointer to 0x3, then to
> > 0xa and when it doesn’t match either of these the code tries to load
> > through the pointer which has a zero in it and page faults.
> >
> > The page fault data is:
> >
> > MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
> >
Fatal System Error: 0x0000000a
> > (0x00000000,0x00000002,0x00000000,0x804194A5)
> >
> > Can anyone comment on either or both of these problems?
> >
> > Thanks
> > Dave Stallmo
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> > unsubscribe send a blank email to %%email.unsub%%
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@borg3.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@osr.com
> To unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@borg3.com
> To unsubscribe send a blank email to %%email.unsub%%

Oh, good grief. The Version 5.0 debugger should NOT be used. Since then,
we’ve HAD five versions of the debugger (Version 1.0, 2.0, 3.0, 4.0 and now
6.0 - believe it, or not.)

The current DDK supports Windows 2000 and the tools on that page will work
with Windows 2000 as well as NT 4.0, Windows XP and .NET.

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: David Stallmo [mailto:xxxxx@earthlink.net]
Sent: Tuesday, August 20, 2002 9:23 PM
To: NT Developers Interest List
Subject: [ntdev] RE: W2K SCSI Miniport Driver

I am running version 5.0 of the debugger from the same download as I got
the symbols from
(www.microsoft.com/windows2000/downloads/tools/symbols/download.asp). I am
doing the development
using the ddk for w2k from the microsoft site.

I found the page with the symbols I downloaded by going through the Windows
2000 Customer Support
Diagnostics that is referenced in the ddk documentation for loading
symbols. Are you indicating that this
is not the correct place to get symbols? The ddk documentation does not
reference the Microsoft symbol
server or the page you reference.

If I change to this alternate location for symbols and tools will they be
consistent with the microsoft ddk?

Dave Stallmo

[Original Message]
From: Tony Mason
> To: NT Developers Interest List
> Date: 8/20/2002 5:41:34 PM
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> What version of the debugger are you using? This doesn’t look like
version
> 6 (download from http://www.microsoft.com/ddk/debugging) output at all.
>
> You have a null pointer dereference here (Parameter # 1 - address of
> operation). The IRQL is DISPATCH_LEVEL (parameter # 2) and it was a read
> (parameter # 3) operation.
>
> The stack trace you are showing is junk - these functions do not call one
> another. This means you are either (a) using the wrong symbols; or (b)
> using the wrong debugger, or both. Are you using the Microsoft symbol
> server for your symbols? If not, you should really do so (read the
> documentation on the page I cited above.
>
> Regards,
>
> Tony
>
> Tony Mason
> Consulting Partner
> OSR Open Systems Resources, Inc.
> http://www.osr.com
>
> Hope to see you at the next OSR file systems class in San Jose, CA
September
> 16, 2002!
>
> -----Original Message-----
> From: David Stallmo [mailto:xxxxx@earthlink.net]
> Sent: Tuesday, August 20, 2002 6:16 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
>
> Attached is the backtrace for the page fault with good symbols.
>
> Dave Stallmo
>
>
> MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
>
>
Fatal System Error: 0x0000000a
> (0x00000000,0x00000002,0x00000000,0x804194A5)
>
> Hard coded breakpoint hit
> > kb
> FramePtr RetAddr Param1 Param2 Param3 Function
Name
> ffffffffeb422d2c ffffffff8043900e 0000000000000003 0000000000000000
> ffffffff804194a5 NT!RtlIntegerToUnicode+0xce
> ffffffffeb4230b8 ffffffff804bc190 0000000000000000 0000000000000000
> 0000000000000002 NT!KeInitializeTimerEx+0xa4
> ffffffffeb4230d4 ffffffff804194a5 ffffffffbadb0d00 0000000000000002
> ffffffff804dad02 NT!0xFFFFFFFF804BC190
> ffffffffeb423158 ffffffff804c01fb ffffffff8183f302 0000000000000120
> ffffffff8183f488 NT!ExInitializeResource+0x5f
> ffffffffeb42318c ffffffff804bfe53 ffffffff8183f368 0000000000000000
> ffffffffeb4231c4 NT!ExFreePoolWithTag+0x2a2
> ffffffffeb42319c ffffffff806098b4 ffffffff8183f368 ffffffff8183f368
> ffffffffeb4231e4 NT!ExFreePool+0xd
> ffffffffeb4231c4 ffffffff80602d9c ffffffffbfe8b4be ffffffffeb423204
> ffffffff8183f488 NT!@IovpSessionDataDereference@4+0xd8
> ffffffffeb423214 ffffffffbfe786c2 0000000000009000 ffffffffa4e37fdc
> ffffffffa4e37f48 NT!@IovSpecialIrpCallDriver@8+0x171
> ffffffffeb423244 ffffffffbfe77b57 ffffffff81840658 0000000000000004
> 0000000000009000 CLASSPNP!ClassSplitRequest+0x17f
> ffffffffeb42326c ffffffff80602d0f ffffffff81840658 ffffffff81858148
> 0000000000000000 CLASSPNP!ClassReadWrite+0x220
> ffffffffeb4232b8 ffffffff80514fa8 ffffffff81840658 ffffffff81840710
> ffffffff818409d8 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb42336c ffffffff800774bd 0000000000000001 ffffffffeb4233a0
> ffffffffeb4233a4 NT!@xHalIoReadPartitionTable@16+0x1ab
> ffffffffeb42337c ffffffffeb028b10 ffffffff81840658 0000000000020000
> 0000000000000001 HAL!IoSetPartitionInformation+0x1
> ffffffffeb4233a4 ffffffffbfe84d87 ffffffff81840658 0000000000000000
> ffffffffc00000bb DISK!DiskEnumerateDevice+0x7e
> ffffffffeb4233bc ffffffffbfe830bb ffffffff81835a30 ffffffffa4e1ff00
> ffffffff81840658 CLASSPNP!ClassPnpQueryFdoRelations+0x6f
> ffffffffeb4233e8 ffffffff80602d0f ffffffff81840658 ffffffffa4e1ff00
> 0000000000000000 CLASSPNP!ClassDispatchPnp+0x19f
> ffffffffeb423434 ffffffffeb418c0b ffffffffa4e1ffdc ffffffff81840558
> ffffffffa4e1ff00 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb423474 ffffffffeb4193ab ffffffff81840558 ffffffffa4e1ff00
> ffffffff818404a0 PARTMGR!PmQueryDeviceRelations+0x6d
> ffffffffeb4234ac ffffffff80602d0f ffffffff818404a0 ffffffffa4e1ff00
> ffffffffa4e1ffdc PARTMGR!PmPnp+0x197
> ffffffffeb4234f8 ffffffffeb414316 ffffffffeb423524 ffffffffeb4156c8
> ffffffff81834dc0 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb423500 ffffffffeb4156c8 ffffffff81834dc0 ffffffffa4e1ff00
> ffffffff81834dc0 DISKPERF!DiskPerfSendToNextDriver+0x1c
> ffffffffeb423524 ffffffff80602d0f ffffffff81834dc0 ffffffffa4e1ff00
> ffffffffa4e1ff00 DISKPERF!DiskPerfDispatchPnp+0x86
> ffffffffeb423570 ffffffff805430ea 0000000000000000 ffffffff81835f28
> ffffffff804d1444 NT!@IovSpecialIrpCallDriver@8+0xe4
> ffffffffeb42359c ffffffff80433cdf ffffffff81834dc0 ffffffffeb4235bc
> ffffffffeb423630 NT!IopSynchronousCall+0x109
> ffffffffeb4235e4 ffffffff80538284 0000000000000000 ffffffff81835038
> 0000000000140400 NT!IopAssignNetworkDriveLetter+0xed
> ffffffffeb423634 ffffffff80537ecc ffffffff81835038 ffffffffeb42380c
> 0000000000140400 NT!IopEnumerateDevice+0x196
> ffffffffeb423670 ffffffff80537b36 ffffffff81835f28 ffffffffeb42380c
> ffffffff80064e2c NT!IopStartAndEnumerateDevice+0x222
> ffffffffeb423690 ffffffff8054267a ffffffff81835f28 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0xa6
> ffffffffeb4236ac ffffffff80537b1a ffffffff81839ac8 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb4236d0 ffffffff8054267a ffffffff81839af8 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4236ec ffffffff80537b1a ffffffff8183a288 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423710 ffffffff8054267a ffffffff8183a2b8 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb42372c ffffffff80537b1a ffffffff818a3448 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423750 ffffffff8054267a ffffffff818a3478 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb42376c ffffffff80537b1a ffffffff818a6e08 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb423790 ffffffff8054267a ffffffff818a6e38 ffffffffeb42380c
> 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4237ac ffffffff80537b1a ffffffff81884e08 ffffffff80537a8e
> ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> ffffffffeb4237d0 ffffffff805379dd ffffffff81884e38 ffffffffeb42380c
> ffffffff804d1444 NT!IopProcessStartDevicesWorker+0x8a
> ffffffffeb4237f0 ffffffff8042fb00 ffffffff818a9318 ffffffffeb42380c
> ffffffff804d1444 NT!IopProcessStartDevices+0x77
> ffffffffeb423830 ffffffff8042f917 ffffffffeb4238a7 ffffffff803f3290
> ffffffff803f5d18 NT!IopProcessNewChildren+0x36
> ffffffffeb423848 ffffffff80639a63 0000000000000000 0000000000000002
> 0000000000000000 NT!IopDeviceActionWorker+0x438
> ffffffffeb4238a8 ffffffff806383a3 ffffffff80087000 ffffffffeb4239ec
> 0000000000000000 NT!IopInitializeBootDrivers+0x3d9
> ffffffffeb423a4c ffffffff80636afe ffffffff80087000 0000000000000000
> 0000000000000000 NT!IoInitSystem+0x78a
> ffffffffeb423da8 ffffffff804a331a ffffffff80087000 0000000000000000
> 0000000000000000 NT!Phase1Initialization+0x8c3
> ffffffffeb423ddc ffffffff804bdd7a ffffffff806362cf ffffffff80087000
> 0000000000000000 NT!RtlFindLastBackwardRunClear+0xc2
> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000 NT!0xFFFFFFFF804BDD7A
> d:\winnt\symbols\SYS\CLASSPNP.dbg for CLASSPNP.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\classpnp.pdb (symbols loaded)
> d:\winnt\symbols\SYS\DISK.dbg for DISK.SYS (has mismatched timestamps sym
> 0x3810E4E7 img 0x389774E8 )
> Module Load: d:\winnt\symbols\SYS\disk.pdb (symbols loaded)
> d:\winnt\symbols\SYS\PARTMGR.dbg for PARTMGR.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\partmgr.pdb (symbols loaded)
> d:\winnt\symbols\SYS\DISKPERF.dbg for DISKPERF.SYS (symbols loaded)
> Module Load: d:\winnt\symbols\SYS\diskperf.pdb (symbols loaded)
>
>
> > [Original Message]
> > From: Peter Wieland
> > To: NT Developers Interest List
> > Date: 8/20/2002 10:12:26 AM
> > Subject: [ntdev] RE: W2K SCSI Miniport Driver
> >
> > the first (the debug prints) is benign.
> >
> > for the crash you’d probably need to send out a stack trace. Make sure
> > you have a kernel debugger attached and valid symbols.
> >
> > -p
> >
> > -----Original Message-----
> > From: David Stallmo [mailto:xxxxx@borg3.com]=20
> > Sent: Monday, August 19, 2002 5:56 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] W2K SCSI Miniport Driver
> >
> >
> > I continue to try to get a W2K SCSI Miniport driver to work. I have two
> >
> > problems. The first is when I return from the DriverEntry (after
> > finding and setting up my hardware interface in the embedded FindAdapter
> > call) W2K
> > prints:
> >
> > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
> > device key 0x80000074
> > DiskAddDevice: Will not allow file system to mount on partition zero of
> > disk 0x81851030
> > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
> > device key 0x80000050
> > DiskAddDevice: Will not allow file system to mount on partition zero of
> > disk 0x81835038
> >
> > Then there are a series of StartIo calls for READ CAPACITY, READ and
> > MODE SENSE.
> >
> > The second problem is that W2K page faults on a 0 ptr but not in my
> > driver code. I assume this is due to not setting up one of the data=20
> > structures for DriverEntry or FindAdapter correctly but I don’t know
> > what it problem is. The strange thing is by disassembling the code at
> > the page fault shows that the code compares the pointer to 0x3, then to
> > 0xa and when it doesn’t match either of these the code tries to load
> > through the pointer which has a zero in it and page faults.
> >
> > The page fault data is:
> >
> > MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
> >
Fatal System Error: 0x0000000a
> > (0x00000000,0x00000002,0x00000000,0x804194A5)
> >
> > Can anyone comment on either or both of these problems?
> >
> > Thanks
> > Dave Stallmo
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> > unsubscribe send a blank email to %%email.unsub%%
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@borg3.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@osr.com
> To unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@borg3.com
> To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to ntdev as: xxxxx@osr.com
To unsubscribe send a blank email to %%email.unsub%%

OK; So here is the crash using windbg 6.0 and the symbols that are pointed
to on the web page where I
loaded windbg 6.0 from. Can anyone help me with this?

MM:***PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2

*** Fatal System Error: 0x0000000a
(0x00000000,0x00000002,0x00000000,0x804194A5)

Break instruction exception - code 80000003 (first chance)

A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.

A fatal system error has occurred.

****************************************************************************
***
*
*
* Bugcheck Analysis
*
*
*
****************************************************************************
***

Use !analyze -v to get detailed debugging information.

BugCheck A, {0, 2, 0, 804194a5}

*** WARNING: symbols timestamp is wrong 0x3946dbb7 0x381f8c67 for
halaacpi.dll
*** WARNING: symbols timestamp is wrong 0x389774e8 0x3810e4e7 for disk.sys
Probably caused by : CLASSPNP.SYS ( CLASSPNP!ClassSplitRequest+17f )

Followup: MachineOwner

nt!RtlIntegerToUnicode+ce:
804a3cf0 cc int 3
kd> !analyze -v
****************************************************************************
***
*
*
* Bugcheck Analysis
*
*
*
****************************************************************************
***

IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pagable (or completely invalid) address at
an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: 00000000, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: 804194a5, address which referenced memory

Debugging Details:

READ_ADDRESS: 00000000 Nonpaged pool expansion

CURRENT_IRQL: 2

FAULTING_IP:
nt!ExInitializeResource+5f
804194a5 8b36 mov esi,[esi]

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0xA

LAST_CONTROL_TRANSFER: from 8043900e to 804a3cf0

STACK_TEXT:
eb422d2c 8043900e 00000003 00000000 804194a5 nt!RtlIntegerToUnicode+0xce
eb4230b8 804bc190 00000000 00000000 00000002 nt!KeInitializeTimerEx+0xa4
eb4230d4 804194a5 badb0d00 00000002 804dad02 nt!MiFreePoolPages+0x16e
eb423158 804c01fb 8183f302 00000120 8183f488 nt!ExInitializeResource+0x5f
eb42318c 804bfe53 8183f368 00000000 eb4231c4 nt!P0BootThread+0x32b
eb42319c 806098b4 8183f368 8183f368 eb4231e4 nt!KiIdleProcess+0x213
eb4231c4 80602d9c bfe8b4be eb423204 8183f488
nt!MiSessionInitializeWorkingSetList+0x950
eb423214 bfe786c2 00009000 a4e37fdc a4e37f48
nt!VerifierProbeAndLockPages+0x26
eb423244 bfe77b57 81840658 00000004 00009000
CLASSPNP!ClassSplitRequest+0x17f
eb42326c 80602d0f 81840658 81858148 00000000 CLASSPNP!ClassReadWrite+0x220
eb4232b8 80514fa8 81840658 81840710 818409d8
nt!IovpSessionDataFinalizeSurrogate+0x200
eb42336c 800774bd 00000001 eb4233a0 eb4233a4 nt!IoReportDetectedDevice+0x953
eb42337c eb028b10 81840658 00020000 00000001 hal!IoWritePartitionTable
(hal+0x154bd)
eb4233a4 bfe84d87 81840658 00000000 c00000bb disk!DiskEnumerateDevice+0x9e
eb4233bc bfe830bb 81835a30 a4e1ff00 81840658
CLASSPNP!ClassPnpQueryFdoRelations+0x6f
eb4233e8 80602d0f 81840658 a4e1ff00 00000000 CLASSPNP!ClassDispatchPnp+0x19f
eb423434 eb418c0b a4e1ffdc 81840558 a4e1ff00
nt!IovpSessionDataFinalizeSurrogate+0x200
eb423474 eb4193ab 81840558 a4e1ff00 818404a0
PartMgr!PmQueryDeviceRelations+0x6d
eb4234ac 80602d0f 818404a0 a4e1ff00 a4e1ffdc PartMgr!PmPnp+0x197
eb4234f8 eb414316 eb423524 eb4156c8 81834dc0
nt!IovpSessionDataFinalizeSurrogate+0x200
eb423500 eb4156c8 81834dc0 a4e1ff00 81834dc0
Diskperf!DiskPerfSendToNextDriver+0x1c
eb423524 80602d0f 81834dc0 a4e1ff00 a4e1ff00
Diskperf!DiskPerfDispatchPnp+0x86
eb423570 805430ea 00000000 81835f28 804d1444
nt!IovpSessionDataFinalizeSurrogate+0x200
eb42359c 80433cdf 81834dc0 eb4235bc eb423630 nt!IopDelayedRemoveWorker+0x83e
eb4235e4 80538284 00000000 81835038 00140400
nt!IopAssignNetworkDriveLetter+0xed
eb423634 80537ecc 81835038 eb42380c 00140400 nt!IopIsLegacyDriver+0x112
eb423670 80537b36 81835f28 eb42380c 80064e2c
nt!IopMergeFilteredResourceRequirementsList+0xa
eb423690 8054267a 81835f28 eb42380c 00000000
nt!IopFilterResourceRequirementsList+0x3fb
eb4236ac 80537b1a 81839ac8 80537a8e eb42380c
nt!IopGetSetSecurityObject+0x3fc
eb4236d0 8054267a 81839af8 eb42380c 00000000
nt!IopFilterResourceRequirementsList+0x3df
eb4236ec 80537b1a 8183a288 80537a8e eb42380c
nt!IopGetSetSecurityObject+0x3fc
eb423710 8054267a 8183a2b8 eb42380c 00000000
nt!IopFilterResourceRequirementsList+0x3df
eb42372c 80537b1a 818a3448 80537a8e eb42380c
nt!IopGetSetSecurityObject+0x3fc
eb423750 8054267a 818a3478 eb42380c 00000000
nt!IopFilterResourceRequirementsList+0x3df
eb42376c 80537b1a 818a6e08 80537a8e eb42380c
nt!IopGetSetSecurityObject+0x3fc
eb423790 8054267a 818a6e38 eb42380c 00000000
nt!IopFilterResourceRequirementsList+0x3df
eb4237ac 80537b1a 81884e08 80537a8e eb42380c
nt!IopGetSetSecurityObject+0x3fc
eb4237d0 805379dd 81884e38 eb42380c 804d1444
nt!IopFilterResourceRequirementsList+0x3df
eb4237f0 8042fb00 818a9318 eb42380c 804d1444
nt!IopFilterResourceRequirementsList+0x2a2
eb423830 8042f917 eb4238a7 803f3290 803f5d18 nt!IopProcessNewChildren+0x36
eb423848 80639a63 00000000 00000002 00000000 nt!IopDeviceActionWorker+0x438
eb4238a8 806383a3 80087000 eb4239ec 00000000
nt!PnPBiosFindMatchingDevNode+0x5c3
eb423a4c 80636afe 80087000 00000000 00000000
nt!MapperPhantomizeDetectedComPorts+0x5
eb423da8 804a331a 80087000 00000000 00000000
nt!IopInitializePlugPlayServices+0x40e
eb423ddc 804bdd7a 806362cf 80087000 00000000
nt!RtlFindLastBackwardRunClear+0xc2
00000000 00000000 00000000 00000000 00000000 nt!MiReleaseSystemPtes+0x2be

FOLLOWUP_IP:
CLASSPNP!ClassSplitRequest+17f
bfe786c2 8b4510 mov eax,[ebp+0x10]

FOLLOWUP_NAME: MachineOwner

SYMBOL_NAME: CLASSPNP!ClassSplitRequest+17f

MODULE_NAME: CLASSPNP

IMAGE_NAME: CLASSPNP.SYS

DEBUG_FLR_IMAGE_TIMESTAMP: 37fbe183

STACK_COMMAND: kb

BUCKET_ID: 0xA_CLASSPNP!ClassSplitRequest+17f

Followup: MachineOwner
---------

David Stallmo

> [Original Message]
> From: Tony Mason
> To: NT Developers Interest List
> Date: 8/20/2002 8:26:16 PM
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> Oh, good grief. The Version 5.0 debugger should NOT be used. Since then,
> we’ve HAD five versions of the debugger (Version 1.0, 2.0, 3.0, 4.0 and
now
> 6.0 - believe it, or not.)
>
> The current DDK supports Windows 2000 and the tools on that page will work
> with Windows 2000 as well as NT 4.0, Windows XP and .NET.
>
> Tony
>
> Tony Mason
> Consulting Partner
> OSR Open Systems Resources, Inc.
> http://www.osr.com
>
>
> -----Original Message-----
> From: David Stallmo [mailto:xxxxx@earthlink.net]
> Sent: Tuesday, August 20, 2002 9:23 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: W2K SCSI Miniport Driver
>
> I am running version 5.0 of the debugger from the same download as I got
> the symbols from
> (www.microsoft.com/windows2000/downloads/tools/symbols/download.asp). I
am
> doing the development
> using the ddk for w2k from the microsoft site.
>
> I found the page with the symbols I downloaded by going through the
Windows
> 2000 Customer Support
> Diagnostics that is referenced in the ddk documentation for loading
> symbols. Are you indicating that this
> is not the correct place to get symbols? The ddk documentation does not
> reference the Microsoft symbol
> server or the page you reference.
>
> If I change to this alternate location for symbols and tools will they be
> consistent with the microsoft ddk?
>
> Dave Stallmo
>
>
>
> > [Original Message]
> > From: Tony Mason
> > To: NT Developers Interest List
> > Date: 8/20/2002 5:41:34 PM
> > Subject: [ntdev] RE: W2K SCSI Miniport Driver
> >
> > What version of the debugger are you using? This doesn’t look like
> version
> > 6 (download from http://www.microsoft.com/ddk/debugging) output at all.
> >
> > You have a null pointer dereference here (Parameter # 1 - address of
> > operation). The IRQL is DISPATCH_LEVEL (parameter # 2) and it was a
read
> > (parameter # 3) operation.
> >
> > The stack trace you are showing is junk - these functions do not call
one
> > another. This means you are either (a) using the wrong symbols; or (b)
> > using the wrong debugger, or both. Are you using the Microsoft symbol
> > server for your symbols? If not, you should really do so (read the
> > documentation on the page I cited above.
> >
> > Regards,
> >
> > Tony
> >
> > Tony Mason
> > Consulting Partner
> > OSR Open Systems Resources, Inc.
> > http://www.osr.com
> >
> > Hope to see you at the next OSR file systems class in San Jose, CA
> September
> > 16, 2002!
> >
> > -----Original Message-----
> > From: David Stallmo [mailto:xxxxx@earthlink.net]
> > Sent: Tuesday, August 20, 2002 6:16 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] RE: W2K SCSI Miniport Driver
> >
> >
> > Attached is the backtrace for the page fault with good symbols.
> >
> > Dave Stallmo
> >
> >
> > MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
> >
> >
Fatal System Error: 0x0000000a
> > (0x00000000,0x00000002,0x00000000,0x804194A5)
> >
> > Hard coded breakpoint hit
> > > kb
> > FramePtr RetAddr Param1 Param2 Param3 Function
> Name
> > ffffffffeb422d2c ffffffff8043900e 0000000000000003 0000000000000000
> > ffffffff804194a5 NT!RtlIntegerToUnicode+0xce
> > ffffffffeb4230b8 ffffffff804bc190 0000000000000000 0000000000000000
> > 0000000000000002 NT!KeInitializeTimerEx+0xa4
> > ffffffffeb4230d4 ffffffff804194a5 ffffffffbadb0d00 0000000000000002
> > ffffffff804dad02 NT!0xFFFFFFFF804BC190
> > ffffffffeb423158 ffffffff804c01fb ffffffff8183f302 0000000000000120
> > ffffffff8183f488 NT!ExInitializeResource+0x5f
> > ffffffffeb42318c ffffffff804bfe53 ffffffff8183f368 0000000000000000
> > ffffffffeb4231c4 NT!ExFreePoolWithTag+0x2a2
> > ffffffffeb42319c ffffffff806098b4 ffffffff8183f368 ffffffff8183f368
> > ffffffffeb4231e4 NT!ExFreePool+0xd
> > ffffffffeb4231c4 ffffffff80602d9c ffffffffbfe8b4be ffffffffeb423204
> > ffffffff8183f488 NT!@IovpSessionDataDereference@4+0xd8
> > ffffffffeb423214 ffffffffbfe786c2 0000000000009000 ffffffffa4e37fdc
> > ffffffffa4e37f48 NT!@IovSpecialIrpCallDriver@8+0x171
> > ffffffffeb423244 ffffffffbfe77b57 ffffffff81840658 0000000000000004
> > 0000000000009000 CLASSPNP!ClassSplitRequest+0x17f
> > ffffffffeb42326c ffffffff80602d0f ffffffff81840658 ffffffff81858148
> > 0000000000000000 CLASSPNP!ClassReadWrite+0x220
> > ffffffffeb4232b8 ffffffff80514fa8 ffffffff81840658 ffffffff81840710
> > ffffffff818409d8 NT!@IovSpecialIrpCallDriver@8+0xe4
> > ffffffffeb42336c ffffffff800774bd 0000000000000001 ffffffffeb4233a0
> > ffffffffeb4233a4 NT!@xHalIoReadPartitionTable@16+0x1ab
> > ffffffffeb42337c ffffffffeb028b10 ffffffff81840658 0000000000020000
> > 0000000000000001 HAL!IoSetPartitionInformation+0x1
> > ffffffffeb4233a4 ffffffffbfe84d87 ffffffff81840658 0000000000000000
> > ffffffffc00000bb DISK!DiskEnumerateDevice+0x7e
> > ffffffffeb4233bc ffffffffbfe830bb ffffffff81835a30 ffffffffa4e1ff00
> > ffffffff81840658 CLASSPNP!ClassPnpQueryFdoRelations+0x6f
> > ffffffffeb4233e8 ffffffff80602d0f ffffffff81840658 ffffffffa4e1ff00
> > 0000000000000000 CLASSPNP!ClassDispatchPnp+0x19f
> > ffffffffeb423434 ffffffffeb418c0b ffffffffa4e1ffdc ffffffff81840558
> > ffffffffa4e1ff00 NT!@IovSpecialIrpCallDriver@8+0xe4
> > ffffffffeb423474 ffffffffeb4193ab ffffffff81840558 ffffffffa4e1ff00
> > ffffffff818404a0 PARTMGR!PmQueryDeviceRelations+0x6d
> > ffffffffeb4234ac ffffffff80602d0f ffffffff818404a0 ffffffffa4e1ff00
> > ffffffffa4e1ffdc PARTMGR!PmPnp+0x197
> > ffffffffeb4234f8 ffffffffeb414316 ffffffffeb423524 ffffffffeb4156c8
> > ffffffff81834dc0 NT!@IovSpecialIrpCallDriver@8+0xe4
> > ffffffffeb423500 ffffffffeb4156c8 ffffffff81834dc0 ffffffffa4e1ff00
> > ffffffff81834dc0 DISKPERF!DiskPerfSendToNextDriver+0x1c
> > ffffffffeb423524 ffffffff80602d0f ffffffff81834dc0 ffffffffa4e1ff00
> > ffffffffa4e1ff00 DISKPERF!DiskPerfDispatchPnp+0x86
> > ffffffffeb423570 ffffffff805430ea 0000000000000000 ffffffff81835f28
> > ffffffff804d1444 NT!@IovSpecialIrpCallDriver@8+0xe4
> > ffffffffeb42359c ffffffff80433cdf ffffffff81834dc0 ffffffffeb4235bc
> > ffffffffeb423630 NT!IopSynchronousCall+0x109
> > ffffffffeb4235e4 ffffffff80538284 0000000000000000 ffffffff81835038
> > 0000000000140400 NT!IopAssignNetworkDriveLetter+0xed
> > ffffffffeb423634 ffffffff80537ecc ffffffff81835038 ffffffffeb42380c
> > 0000000000140400 NT!IopEnumerateDevice+0x196
> > ffffffffeb423670 ffffffff80537b36 ffffffff81835f28 ffffffffeb42380c
> > ffffffff80064e2c NT!IopStartAndEnumerateDevice+0x222
> > ffffffffeb423690 ffffffff8054267a ffffffff81835f28 ffffffffeb42380c
> > 0000000000000000 NT!IopProcessStartDevicesWorker+0xa6
> > ffffffffeb4236ac ffffffff80537b1a ffffffff81839ac8 ffffffff80537a8e
> > ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> > ffffffffeb4236d0 ffffffff8054267a ffffffff81839af8 ffffffffeb42380c
> > 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> > ffffffffeb4236ec ffffffff80537b1a ffffffff8183a288 ffffffff80537a8e
> > ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> > ffffffffeb423710 ffffffff8054267a ffffffff8183a2b8 ffffffffeb42380c
> > 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> > ffffffffeb42372c ffffffff80537b1a ffffffff818a3448 ffffffff80537a8e
> > ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> > ffffffffeb423750 ffffffff8054267a ffffffff818a3478 ffffffffeb42380c
> > 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> > ffffffffeb42376c ffffffff80537b1a ffffffff818a6e08 ffffffff80537a8e
> > ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> > ffffffffeb423790 ffffffff8054267a ffffffff818a6e38 ffffffffeb42380c
> > 0000000000000000 NT!IopProcessStartDevicesWorker+0x8a
> > ffffffffeb4237ac ffffffff80537b1a ffffffff81884e08 ffffffff80537a8e
> > ffffffffeb42380c NT!IopForAllChildDeviceNodes+0x5c
> > ffffffffeb4237d0 ffffffff805379dd ffffffff81884e38 ffffffffeb42380c
> > ffffffff804d1444 NT!IopProcessStartDevicesWorker+0x8a
> > ffffffffeb4237f0 ffffffff8042fb00 ffffffff818a9318 ffffffffeb42380c
> > ffffffff804d1444 NT!IopProcessStartDevices+0x77
> > ffffffffeb423830 ffffffff8042f917 ffffffffeb4238a7 ffffffff803f3290
> > ffffffff803f5d18 NT!IopProcessNewChildren+0x36
> > ffffffffeb423848 ffffffff80639a63 0000000000000000 0000000000000002
> > 0000000000000000 NT!IopDeviceActionWorker+0x438
> > ffffffffeb4238a8 ffffffff806383a3 ffffffff80087000 ffffffffeb4239ec
> > 0000000000000000 NT!IopInitializeBootDrivers+0x3d9
> > ffffffffeb423a4c ffffffff80636afe ffffffff80087000 0000000000000000
> > 0000000000000000 NT!IoInitSystem+0x78a
> > ffffffffeb423da8 ffffffff804a331a ffffffff80087000 0000000000000000
> > 0000000000000000 NT!Phase1Initialization+0x8c3
> > ffffffffeb423ddc ffffffff804bdd7a ffffffff806362cf ffffffff80087000
> > 0000000000000000 NT!RtlFindLastBackwardRunClear+0xc2
> > 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> > 0000000000000000 NT!0xFFFFFFFF804BDD7A
> > d:\winnt\symbols\SYS\CLASSPNP.dbg for CLASSPNP.SYS (symbols loaded)
> > Module Load: d:\winnt\symbols\SYS\classpnp.pdb (symbols loaded)
> > d:\winnt\symbols\SYS\DISK.dbg for DISK.SYS (has mismatched timestamps
sym
> > 0x3810E4E7 img 0x389774E8 )
> > Module Load: d:\winnt\symbols\SYS\disk.pdb (symbols loaded)
> > d:\winnt\symbols\SYS\PARTMGR.dbg for PARTMGR.SYS (symbols loaded)
> > Module Load: d:\winnt\symbols\SYS\partmgr.pdb (symbols loaded)
> > d:\winnt\symbols\SYS\DISKPERF.dbg for DISKPERF.SYS (symbols loaded)
> > Module Load: d:\winnt\symbols\SYS\diskperf.pdb (symbols loaded)
> >
> >
> > > [Original Message]
> > > From: Peter Wieland
> > > To: NT Developers Interest List
> > > Date: 8/20/2002 10:12:26 AM
> > > Subject: [ntdev] RE: W2K SCSI Miniport Driver
> > >
> > > the first (the debug prints) is benign.
> > >
> > > for the crash you’d probably need to send out a stack trace. Make
sure
> > > you have a kernel debugger attached and valid symbols.
> > >
> > > -p
> > >
> > > -----Original Message-----
> > > From: David Stallmo [mailto:xxxxx@borg3.com]=20
> > > Sent: Monday, August 19, 2002 5:56 PM
> > > To: NT Developers Interest List
> > > Subject: [ntdev] W2K SCSI Miniport Driver
> > >
> > >
> > > I continue to try to get a W2K SCSI Miniport driver to work. I have
two
> > >
> > > problems. The first is when I return from the DriverEntry (after
> > > finding and setting up my hardware interface in the embedded
FindAdapter
> > > call) W2K
> > > prints:
> > >
> > > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81851030
> > > device key 0x80000074
> > > DiskAddDevice: Will not allow file system to mount on partition zero
of
> > > disk 0x81851030
> > > DiskAddDevice: Error 0xc0000034 opening disk key for pdo 0x81835038
> > > device key 0x80000050
> > > DiskAddDevice: Will not allow file system to mount on partition zero
of
> > > disk 0x81835038
> > >
> > > Then there are a series of StartIo calls for READ CAPACITY, READ and
> > > MODE SENSE.
> > >
> > > The second problem is that W2K page faults on a 0 ptr but not in my
> > > driver code. I assume this is due to not setting up one of the
data=20
> > > structures for DriverEntry or FindAdapter correctly but I don’t know
> > > what it problem is. The strange thing is by disassembling the code at
> > > the page fault shows that the code compares the pointer to 0x3, then
to
> > > 0xa and when it doesn’t match either of these the code tries to load
> > > through the pointer which has a zero in it and page faults.
> > >
> > > The page fault data is:
> > >
> > > MM: PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
> > >
Fatal System Error: 0x0000000a
> > > (0x00000000,0x00000002,0x00000000,0x804194A5)
> > >
> > > Can anyone comment on either or both of these problems?
> > >
> > > Thanks
> > > Dave Stallmo
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> > > unsubscribe send a blank email to %%email.unsub%%
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@borg3.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@osr.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@borg3.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@osr.com
> To unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@borg3.com
> To unsubscribe send a blank email to %%email.unsub%%

Hi David,
We were facing a very similar problem. The one change we did was to
replace memory allocations being made with
ExInitializeNPagedLookasideList, ExallocateFromNPagedLookasideList with
ExAllocatePool. This seems to have fixed the problem as we haven’t seen it
again. We don’t have an explanation as to why it is not occuring again,
may be somebody else would know.
Thanks,
Giri

> I am using version 5.00.2195.11 of the debugger. The debugger comes
with

Stop using this extremely buggy WinDbg version. Download the newer and
better one from www.microsoft.com/ddk/debugging

Max

> The page fault data is:

MM:***PAGE FAULT AT IRQL > 1 Va 00000000, IRQL 2
*** Fatal System Error: 0x0000000a
(0x00000000,0x00000002,0x00000000,0x804194A5)

Can anyone comment on either or both of these problems?

And what is the call stack?

Max