XP dumps that refuse to go away...

Our automated testing lab collects crash dumps when a test encounters a
failure and copies it for later analysis. This is all working fine on NT4
and W2K but not on XP. On W2K and XP we use Kernel Memory Dumps and NT4 we
use Complete Memory Dumps.

The 1st problem is after successfully using MoveFile() to copy the dump, we
find the source memory.dmp file still exists, even though MoveFile()
returned success. Trying to delete it using DeleteFile() returns an
ERROR_ACCESS_DENIED. I put the delete code in a retry loop and after almost
4 minutes we succeed. So why can’t we delete the dump? Why does MoveFile()
return success when it actually failed?

The 2nd problem is after this happens, we continue on with the next test
which runs fine. At the end of the test we reboot the node and when we come
back up we find a memory.dmp file again, even though the node did not crash
(no blue screen at all). This dump is corrupted and will not open in
Windbg. Could we still have a partial dump left in our page file that XP is
finding and copying to a new memory.dmp file?

Any suggestions appreciated. I’ve attached an example log from a client
showing the problem.

Thanks
Ed Smith
Mangosoft Inc.

1/18/2002 8:23:56 AM ************************
1/18/2002 8:23:56 AM * Starting SlaveDriver *
1/18/2002 8:23:57 AM ************************
1/18/2002 8:23:57 AM OS = XPP
1/18/2002 8:23:58 AM Connecting to M002
1/18/2002 8:24:05 AM Results found… starting collection
1/18/2002 8:24:05 AM Checking if dump is ready…
1/18/2002 8:25:05 AM Dump file size hasn’t changed in 60 seconds, must be
done
1/18/2002 8:25:05 AM Final Dump Size is 29069312 bytes
1/18/2002 8:25:15 AM Moving H:\WINDOWS\MEMORY.DMP to
C:\testroot\dumps\LGMemMapWriteFlushServerNoMemFixedNoShare$S6.0.xpdmp
1/18/2002 8:25:20 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:25:30 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:25:40 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:25:50 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:00 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:10 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:20 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:30 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:40 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:50 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:00 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:11 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:21 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:31 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:41 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:51 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:01 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:11 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:21 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:31 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:41 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:51 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:29:01 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:29:11 AM DeleteFile() of H:\WINDOWS\MEMORY.DMP succeeded
.
.

>> OUR TEST RUNS SUCCESSFULLY AND WE REBOOT THE NODE <<<<
.
.
1/18/2002 10:13:50 AM Slavedriver starting Reboot.pcd, test =
LGNoBufferinglargeServerNoMemFixedNoShareReboot
1/18/2002 10:16:21 AM ************************
1/18/2002 10:16:21 AM * Starting SlaveDriver *
1/18/2002 10:16:21 AM ************************
1/18/2002 10:16:21 AM OS = XPP
1/18/2002 10:16:23 AM Connecting to M002
1/18/2002 10:16:29 AM Results found… starting collection
1/18/2002 10:16:29 AM Checking if dump is ready…
1/18/2002 10:17:34 AM Dump file size hasn’t changed in 60 seconds, must be
done
1/18/2002 10:17:34 AM Final Dump Size is 29384704 bytes
1/18/2002 10:17:44 AM Moving H:\WINDOWS\MEMORY.DMP to
C:\testroot\dumps\LGNoBufferinglargeServerNoMemFixedNoShare$S6.0.xpdmp
1/18/2002 10:17:51 AM Slavedriver at your service, awaiting commands


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You can try to use MoveFileEx using MoveFile_Write_Through ( willl not
return immediately until the file actually been moved).
Because the file is still locked and used by other process that is why you
get access denied when DeleteFile() is called.

Suifun

Ed Smith
To: “Kernel Debugging Interest List”
Sent by: cc:
xxxxx@lis Subject: [windbg] XP dumps that refuse to go away…
ts.osr.com

01/18/2002 01:48 PM
Please respond to
“Kernel Debugging
Interest List”

Our automated testing lab collects crash dumps when a test encounters a
failure and copies it for later analysis. This is all working fine on NT4
and W2K but not on XP. On W2K and XP we use Kernel Memory Dumps and NT4 we
use Complete Memory Dumps.

The 1st problem is after successfully using MoveFile() to copy the dump, we
find the source memory.dmp file still exists, even though MoveFile()
returned success. Trying to delete it using DeleteFile() returns an
ERROR_ACCESS_DENIED. I put the delete code in a retry loop and after
almost
4 minutes we succeed. So why can’t we delete the dump? Why does MoveFile
()
return success when it actually failed?

The 2nd problem is after this happens, we continue on with the next test
which runs fine. At the end of the test we reboot the node and when we
come
back up we find a memory.dmp file again, even though the node did not crash
(no blue screen at all). This dump is corrupted and will not open in
Windbg. Could we still have a partial dump left in our page file that XP
is
finding and copying to a new memory.dmp file?

Any suggestions appreciated. I’ve attached an example log from a client
showing the problem.

Thanks
Ed Smith
Mangosoft Inc.

1/18/2002 8:23:56 AM *
1/18/2002 8:23:56 AM * Starting SlaveDriver
1/18/2002 8:23:57 AM

1/18/2002 8:23:57 AM OS = XPP
1/18/2002 8:23:58 AM Connecting to M002
1/18/2002 8:24:05 AM Results found… starting collection
1/18/2002 8:24:05 AM Checking if dump is ready…
1/18/2002 8:25:05 AM Dump file size hasn’t changed in 60 seconds, must be
done
1/18/2002 8:25:05 AM Final Dump Size is 29069312 bytes
1/18/2002 8:25:15 AM Moving H:\WINDOWS\MEMORY.DMP to
C:\testroot\dumps\LGMemMapWriteFlushServerNoMemFixedNoShare$S6.0.xpdmp
1/18/2002 8:25:20 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:25:30 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:25:40 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:25:50 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:00 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:10 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:20 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:30 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:40 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:26:50 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:00 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:11 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:21 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:31 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:41 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:27:51 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:01 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:11 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:21 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:31 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:41 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:28:51 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:29:01 AM WARNING: DeleteFile() of H:\WINDOWS\MEMORY.DMP
failed, Error = 5
1/18/2002 8:29:11 AM DeleteFile() of H:\WINDOWS\MEMORY.DMP succeeded
.
.
>>> OUR TEST RUNS SUCCESSFULLY AND WE REBOOT THE NODE <<<<
.
.
1/18/2002 10:13:50 AM Slavedriver starting Reboot.pcd, test =
LGNoBufferinglargeServerNoMemFixedNoShareReboot
1/18/2002 10:16:21 AM *
1/18/2002 10:16:21 AM * Starting SlaveDriver
1/18/2002 10:16:21 AM

1/18/2002 10:16:21 AM OS = XPP
1/18/2002 10:16:23 AM Connecting to M002
1/18/2002 10:16:29 AM Results found… starting collection
1/18/2002 10:16:29 AM Checking if dump is ready…
1/18/2002 10:17:34 AM Dump file size hasn’t changed in 60 seconds, must
be
done
1/18/2002 10:17:34 AM Final Dump Size is 29384704 bytes
1/18/2002 10:17:44 AM Moving H:\WINDOWS\MEMORY.DMP to
C:\testroot\dumps\LGNoBufferinglargeServerNoMemFixedNoShare$S6.0.xpdmp
1/18/2002 10:17:51 AM Slavedriver at your service, awaiting commands


You are currently subscribed to windbg as: suifun@us.ibm.com
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> At the end of the test we reboot the node and when we come

back up we find a memory.dmp file again, even though the node
did not crash (no blue screen at all). This dump is corrupted
and will not open in Windbg.

For the record, I have had this exact same situation multiple times on my XP
Pro (free) system. Never had trouble deleting dumps however.

Gert-Jan


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I believe that it takes a while for the dump to be extracted from the
pagefile. If you try loading (or move/deleting) the dump before the
extraction is finished then you will have problems.

Does everything work right if you wait a couple of mins before doing
your thing?

Andreva is the real expert on this part. Perhaps he’ll chip in some
wisdom.

-----Original Message-----
From: Gert-Jan Bartelds [mailto:xxxxx@Fenestrae.com]
Sent: Friday, January 18, 2002 2:42 PM
To: Kernel Debugging Interest List
Subject: [windbg] RE: XP dumps that refuse to go away…

At the end of the test we reboot the node and when we come
back up we find a memory.dmp file again, even though the node
did not crash (no blue screen at all). This dump is corrupted
and will not open in Windbg.

For the record, I have had this exact same situation multiple times on
my XP Pro (free) system. Never had trouble deleting dumps however.

Gert-Jan


You are currently subscribed to windbg as: xxxxx@microsoft.com To
unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

The problem is some stale data in the first page of the pagefile, which
causes us to believe there is a dump file present when there really is not.
This will be fixed in SP1.

If you are generating full dumps, then you do have to wait a while for the
operations to complete if you want to delete the file.


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Any chance of getting a hotfix for the stale data in the pagefile problem?
This is really cramping our automated testing collecting excess dumps.

We’ve using Kernel Memory Dumps on XP, typically about 24-30MB. I’m waiting
on the file size to stop growing for 1 minute before I try the MoveFile()
which succeeds without error. What I did not realize is that MoveFile()
would return before the move completed. I’ll try MoveFileEx() using
MoveFile_Write_Through. I added the code to try and delete the dump because
we were seeing the extra unexpected dumps (stale data in the pagefile
problem) and I suspected the MoveFile() failed to delete the original
Memory.dmp.

Thanks for your help!
…Ed

-----Original Message-----
From: xxxxx@microsoft.com [mailto:xxxxx@microsoft.com]
Sent: Friday, January 18, 2002 7:12 PM
To: Kernel Debugging Interest List
Subject: [windbg] RE: XP dumps that refuse to go away…

The problem is some stale data in the first page of the pagefile, which
causes us to believe there is a dump file present when there really is not.
This will be fixed in SP1.

If you are generating full dumps, then you do have to wait a while for the
operations to complete if you want to delete the file.


You are currently subscribed to windbg as: xxxxx@mangosoft.com
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> To: Kernel Debugging Interest List

Subject: [windbg] RE: XP dumps that refuse to go away…

The problem is some stale data in the first page of the
pagefile, which causes us to believe there is a dump file present when
there
really is not.
This will be fixed in SP1.

OK, understood.

GJ


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com