A BSOD when add disks to the computer

Hi, all
When I added two snapshots of one disk to my computer and rescan disks, my system crushed. Here is the dump infomation.

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

PNP_DETECTED_FATAL_ERROR (ca)
PnP encountered a severe error, either as a result of a problem in a driver or
a problem in PnP itself. The first argument describes the nature of the
problem, the second argument is the address of the PDO. The other arguments
vary depending on argument 1.
Arguments:
Arg1: 00000001, Duplicate PDO
A specific instance of a driver has enumerated multiple PDOs with
identical device id and unique ids.
Arg2: 89010bb8, Newly reported PDO.
Arg3: 89f85a10, PDO of which it is a duplicate.
Arg4: 00000000

Debugging Details:

*** No owner thread found for resource 808a5920
*** No owner thread found for resource 808a5920
*** No owner thread found for resource 808a5920
*** No owner thread found for resource 808a5920

BUGCHECK_STR: 0xCA_1

DEVICE_OBJECT: 89010bb8

DRIVER_OBJECT: 8a187230

IMAGE_NAME: ftdisk.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 45d69bc5

MODULE_NAME: ftdisk

FAULTING_MODULE: f7317000 ftdisk

DEFAULT_BUCKET_ID: DRIVER_FAULT

PROCESS_NAME: System

CURRENT_IRQL: 0

LOCK_ADDRESS: 808a59a0 -- (!locks 808a59a0)

Resource @ nt!IopDeviceTreeLock (0x808a59a0) Shared 1 owning threads
Threads: 8a183020-01<*>
1 total locks, 1 locks currently held

PNP_TRIAGE:
Lock address : 0x808a59a0
Thread Count : 1
Thread address: 0x8a183020
Thread wait : 0x5b995

LAST_CONTROL_TRANSFER: from 8090c609 to 80827c63

STACK_TEXT:
f7906a10 8090c609 000000ca 00000001 89010bb8 nt!KeBugCheckEx+0x1b
f7906ad0 8090cd2d 008b00e0 892cf700 88d1f110 nt!PiProcessNewDeviceNode+0x55b
f7906d24 8090d21c 88d1f110 00000001 00000000 nt!PipProcessDevNodeTree+0x16b
f7906d58 80823325 00000003 8a183020 808ae5fc nt!PiProcessReenumeration+0x60
f7906d80 80880441 00000000 00000000 8a183020 nt!PipDeviceActionWorker+0x16b
f7906dac 80949b7c 00000000 00000000 00000000 nt!ExpWorkerThread+0xeb
f7906ddc 8088e062 80880356 00000001 00000000 nt!PspSystemThreadStartup+0x2e
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

STACK_COMMAND: kb

FOLLOWUP_NAME: MachineOwner

FAILURE_BUCKET_ID: 0xCA_1_IMAGE_ftdisk.sys_DATE_2007_02_17

BUCKET_ID: 0xCA_1_IMAGE_ftdisk.sys_DATE_2007_02_17

Followup: MachineOwner

DevNode 0x898b00e0 for PDO 0x89010bb8
InstancePath is "STORAGE\Volume\1&30a96598&0&SignatureAFD39F31Offset7E00Length5E00000"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)

DevNode 0x8a0c7400 for PDO 0x89f85a10
InstancePath is "STORAGE\Volume\1&30a96598&0&SignatureAFD39F31Offset7E00Length5E00000"
ServiceName is "volsnap"
TargetDeviceNotify List - f 0xe1431490 b 0xe10baa40
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)

Device object (89010bb8) is for:
HarddiskVolume21 \Driver\Ftdisk DriverObject 8a187230
Current Irp 00000000 RefCount 0 Type 00000007 Flags 00001050
Vpb 898a0008 Dacl e1480e2c DevExt 89010c70 DevObjExt 89010ec0 Dope 89aa8578 DevNode 898b00e0
ExtensionFlags (0x00000010) DOE_START_PENDING
Device queue is not busy.

Device object (89f85a10) is for:
HarddiskVolume3 \Driver\Ftdisk DriverObject 8a187230
Current Irp 00000000 RefCount 0 Type 00000007 Flags 00001050
Vpb 8a13e338 Dacl e1480e2c DevExt 89f85ac8 DevObjExt 89f85d18 Dope 8a13d2c0 DevNode 8a0c7400
ExtensionFlags (0000000000)
AttachedDevice (Upper) 89358b08 \Driver\VolSnap
Device queue is not busy.

This BSOD happened rarely. Without this BSOD, I lick on the storage management, and I find one of my disk is not initialized and I can not do any operation on it. That disk is just my snapshots.

Why that BSOD happened?

Thanks & regards.

Any help will be grateful.
Thanks.

And my operating system is Windows Seerver 2003 SP2.

On 11/20/2009 9:53 AM, kuangnuzhiren@163.com wrote:

When I added two snapshots of one disk to my computer and rescan
disks, my system crushed. Here is the dump infomation.

[…]

Arg1: 00000001, Duplicate PDO A specific instance of a driver has
enumerated multiple PDOs with identical device id and unique ids.

[…]

So you have two snapshots of the same disk. These have the same “unique
id” . This causes the crash. The debug output states this.

(Do I need to explain what “unique ID” means? Or why a system that
relies on something being “unique” might have a severe problem if it
finds two instances of it?)

Please see:
http://catb.org/~esr/faqs/smart-questions.html

(Do I need to explain what “unique ID” means? Or why a system that
relies on something being “unique” might have a severe problem if it
finds two instances of it?)

Yes. In my opinion, the ftdisk driver uses a device ID and a device instance ID to specify a disk. So when two disks have the same disk signature, offset and length, the ftdisk will think the PDOs of these two disks are duplicate. But I find most times when two disks have same disk signature, offset and length the PartMgr will modify the signature of one disk, so when it come to ftdisk the PDOs are different. Is that right? If it’s right, why the PartMgr did not modify the signature so that BSOD happened? But if I delete PartMgr from the registry, this BSOD will not happen. It seems like that the two disks are treated as multipath of one device.

On 11/23/2009 10:50 AM, Hagen Patzke wrote:

(Do I need to explain what “unique ID” means? Or why a system that
relies on something being “unique” might have a severe problem if it
finds two instances of it?)

On 11/24/2009 3:00 AM, kuangnuzhiren@163.com wrote:

Yes. […]

OK. Please look at what you posted (on 11/20/2009 9:53 AM) again:

[…] PNP_DETECTED_FATAL_ERROR (ca)

=> There was a fatal error. Fatal means “not recoverable”.

PnP encountered a severe error, either as a result of a problem in a
driver or a problem in PnP itself.

=> The error was detected by the Plug-and-Play system.

The first argument describes the
nature of the problem, the second argument is the address of the PDO.
The other arguments vary depending on argument 1.

=> So the problem is described in Arg1.

Arguments:
Arg1: 00000001, Duplicate PDO

A specific instance of a driver has enumerated multiple PDOs with
identical device id and unique ids.

=> So the PnP system found multiple Physical Device Objects with
identical device id and unique ids.

So you can either change the device ID or the unique ID, or both, of one
of the two hard drive snapshots, and you should be fine.

Thanks Hagen.
Are the device ID and the unique ID generated by the operating system? By who? The ftdisk.sys? And if I want to change them what should I do? I wonder if I can change one of these two IDs by modify data on the snapshot such as the disk signature.

On 11/25/2009 3:06 AM, kuangnuzhiren@163.com wrote:

I wonder if I can change one of these two IDs by modify data on the
snapshot such as the disk signature.

Perhaps you could try this:
http://technet.microsoft.com/en-us/sysinternals/bb897436.aspx