File Server Stops Responding (Hangs) When You Rename a File (810340)



The information in this article applies to:

  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server

SYMPTOMS

When you rename a file on a remote Windows 2000-based file server, the file server may stop responding (hang).

CAUSE

When you rename a file, NTFS file system may acquire the file control block stream resources in an incorrect order. This causes a deadlock between two threads that are waiting exclusively on the file SCB resources.

RESOLUTION

Service Pack Information

To resolve this problem, obtain the latest service pack for Microsoft Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

Hotfix Information

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version        Size     File name
   --------------------------------------------------------
   15-Nov-2001  12:27                   5,149  Empty.cat
   16-Jan-2003  10:27  5.0.2195.6655  514,224  Ntfs.sys
   16-Dec-2002  11:26  5.3.12.0         4,096  Spmsg.dll
   16-Dec-2002  11:27  5.3.12.0        87,040  Spuninst.exe
				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft Windows 2000 Service Pack 4.

MORE INFORMATION

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product

When this problem occurs, the following resources and threads are deadlocked:
 Resource @ 0x85a0b688 Exclusively owned waiting on 85850a08
 Contention Count = 761
 NumberOfSharedWaiters = 2
 NumberOfExclusiveWaiters = 7
 Threads: 83705020-01 85dfd460-01 85dfd6e0-01

 3: kd> !thread 83705020
 THREAD 83705020 Cid 8.7a8 Teb: 00000000 Win32Thread: 00000000 WAIT:
 (Executive) KernelMode Non-Al
 ertable
 850c8fe8 SynchronizationEvent
 83705108 NotificationTimer
 IRP List:
 84f75e68: (0006,0190) Flags: 00000830 Mdl: 00000000
 Impersonation token: e4d20030 (Level Impersonation)
 Owning Process 85e10560
 WaitTime (seconds) 31005020
 Context Switch Count 8440
 UserTime 0:00:00.0000
 KernelTime 0:00:03.0468
 Start Address srv!WorkerThread (0xf64bcd1b)
 Stack Init f5e5a000 Current f5e59468 Base f5e5a000 Limit f5e57000 Call 0
 Priority 14 BasePriority 9 PriorityDecrement 5 DecrementCount 16

 ChildEBP RetAddr Args to Child
 f5e59480 8042bfc7 00000000 85850a08 83705020 nt!KiSwapThread+0x1b1
 f5e594a8 80415502 850c8fe8 00000000 00000000 nt!KeWaitForSingleObject+0x1a3
 f5e594e8 804148ef 85850a08 85850a08 f5e5950c nt!ExpWaitForResource+0x1b4
 f5e594f8 80414943 00000000 e14cd008 84311c08 nt!ExpAcquireResourceExclusiveLite+0x7b
 f5e5950c f745854a 85850a3c 84311c01 85a0c3d0 nt!ExAcquireResourceExclusiveLite+0x45
 f5e5952c f7458614 84311c01 e14cd008 e14cd0d8 Ntfs!NtfsAcquireExclusiveFcb+0x38
 f5e59544 f7473591 84311c08 e14cd0d8 85a0c3d0 Ntfs!NtfsAcquireExclusiveScb+0x14
 f5e59654 f74a8488 84311c08 e14cd0d8 00000001 Ntfs!NtOfsAddRecords+0x40
 f5e59774 f749ff32 84311c08 e450aba8 85a0c3d0 Ntfs!NtfsSetObjectIdInternal+0x195
 f5e59800 f746bd16 84311c08 e450aba8 f5e5992c Ntfs!NtfsSetTunneledData+0x58
 f5e599e4 f7469cc1 84311c08 849f63a8 84f75e68 Ntfs!NtfsSetRenameInfo+0xad7
 f5e59a80 f745db68 84311c08 84f75e68 85a0c300 Ntfs!NtfsCommonSetInformation+0x453
 f5e59af0 8041db29 85a0c300 84f75e68 00000000 Ntfs!NtfsFsdSetInformation+0xbf
 f5e59b04 804abb1a 0000000a 804ab5a4 e3001d10 nt!IopfCallDriver+0x35
 f5e59c04 f64c1425 000032e0 f5e59c34 e3001d10 nt!NtSetInformationFile+0x576
 f5e59c54 f64c1820 857c0558 f5e59d50 000032e0 srv!DoRename+0x22f
 f5e59cf4 f64c156d 00000000 e21c8910 00000010 srv!SrvMoveFile+0x269
 f5e59d84 f64bcdc5 00000000 00000000 00000000 srv!BlockingRename+0x1f0
 f5e59da8 804554ce 857c0558 00000000 00000000 srv!WorkerThread+0x115
 f5e59ddc 8046a9d2 f64bcd1b f64bb420 00000000 nt!PspSystemThreadStartup+0x54
 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


 Resource @ 0x85850a08 Exclusively owned waiting on 85a0b688
 Contention Count = 948
 NumberOfSharedWaiters = 13
 NumberOfExclusiveWaiters = 1
 Threads: 84e69da0-01 84502da0-01 85dfd1e0-01 83798020-01
 849081e0-01 855954e0-01 8492f020-01 851ae880-01
 841c7440-01 83ffb700-01 853b1180-01 83e023a0-01
 83d77720-01 8380b020-01

 3: kd> !thread 84e69da0
 THREAD 84e69da0 Cid 8.7b4 Teb: 00000000 Win32Thread: 00000000 WAIT:
 (Executive) KernelMode Non-Al
 ertable
 8512d7a8 SynchronizationEvent
 84e69e88 NotificationTimer
 IRP List:
 83fd9e68: (0006,0190) Flags: 00000884 Mdl: 00000000
 Impersonation token: e5900a90 (Level Impersonation)
 Owning Process 85e10560
 WaitTime (seconds) 31005020
 Context Switch Count 4566
 UserTime 0:00:00.0000
 KernelTime 0:00:00.0468
 Start Address srv!WorkerThread (0xf64bcd1b)
 Stack Init f6519000 Current f651801c Base f6519000 Limit f6516000 Call 0
 Priority 14 BasePriority 9 PriorityDecrement 5 DecrementCount 16

 ChildEBP RetAddr Args to Child
 f6518034 8042bfc7 00000000 85a0b688 84e69da0 nt!KiSwapThread+0x1b1
 f651805c 80415502 8512d7a8 00000000 00000000 nt!KeWaitForSingleObject+0x1a3
 f651809c 804148ef 85a0b688 85a0b688 f65180c0 nt!ExpWaitForResource+0x1b4
 f65180ac 80414943 00000000 85a0b6c8 83d86008 nt!ExpAcquireResourceExclusiveLite+0x7b
 f65180c0 f745854a 85a0b6bc 83d86001 83d86008 nt!ExAcquireResourceExclusiveLite+0x45
 f65180e0 f7458614 83d86001 85a0b6c8 85a0a008 Ntfs!NtfsAcquireExclusiveFcb+0x38
 f65180f8 f74656a7 83d86008 85a0a008 83d86008 Ntfs!NtfsAcquireExclusiveScb+0x14
 f6518168 f74658b0 83d86008 85a0c3d0 00000000 Ntfs!NtfsAllocateMftRecord+0x33
 f651834c f7459c42 83d86008 83fd9e68 83fd9fd4 Ntfs!NtfsCreateNewFile+0x315
 f65186a0 f7464a46 83d86008 83fd9e68 f6518700 Ntfs!NtfsCommonCreate+0xe9a
 f6518740 8041db29 85a0c300 83fd9e68 83fd9e78 Ntfs!NtfsFsdCreate+0x157
 f6518754 804c1840 858e6808 f6518af4 00000000 nt!IopfCallDriver+0x35
 f65188d4 804c1d72 85a0c300 00000000 f65189bc nt!IopParseDevice+0x9fc
 f651890c 80450e8a 858e6808 00000000 f65189bc nt!IopParseFile+0x44
 f651897c 804d72e3 000006c8 f6518a78 00000040 nt!ObpLookupObjectName+0xe6
 f6518a8c 804a1fd0 00000000 00000000 e1f41000 nt!ObOpenObjectByName+0xc5
 f6518b60 f65078c2 f6518cc0 00020196 f6518c84 nt!IoCreateFile+0x3ec
 f6518ba8 f64bc734 f6518cc0 00020196 f6518c84 TMFilter+0x1c8c2
 f6518c18 f64bf143 857a19d0 f6518cc0 00020196 srv!SrvIoCreateFile+0x32a
 f6518ce8 f64c1034 84998af8 e5215410 00020196 srv!SrvNtCreateFile+0x452
 f6518d68 f64af75b 857a19d0 f64af89f 857a19d8 srv!SrvSmbNtCreateAndX+0xe5
 f6518d70 f64af89f 857a19d8 859b08c0 f6518da8 srv!SrvProcessSmb+0x46
 f6518d84 f64bcdc5 00000000 00000000 00000000 srv!SrvRestartReceive+0xa2
 f6518da8 804554ce 857a19d0 00000000 00000000 srv!WorkerThread+0x115
 f6518ddc 8046a9d2 f64bcd1b 859b08c0 00000000 nt!PspSystemThreadStartup+0x54
 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

Modification Type:MinorLast Reviewed:10/11/2005
Keywords:kbHotfixServer kbQFE kbOSWin2000fix kbWin2kSP4fix kbWin2000preSP4Fix kbfix kbbug KB810340