Microsoft KB Archive/934611

= Windows Vista may stop responding when you install software that adds legacy network drivers =

Article ID: 934611

Article Last Modified on 8/29/2007

-

APPLIES TO


 * Windows Vista Enterprise 64-bit Edition
 * Windows Vista Home Basic 64-bit Edition
 * Windows Vista Home Premium 64-bit Edition
 * Windows Vista Ultimate 64-bit Edition
 * Windows Vista Business
 * Windows Vista Enterprise
 * Windows Vista Home Basic
 * Windows Vista Home Premium
 * Windows Vista Ultimate

-



SYMPTOMS
When you install a software that adds legacy network drivers on a computer that is running Windows Vista, Windows Vista may stop responding.



CAUSE
This problem occurs because a thread holds the TdxDeviceList lock and sends a request to the critical queue. However, the critical queue is already full. Work items that are in this critical queue are waiting for the TdxDeviceList lock that is held by the thread.



Hotfix information
A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Prerequisites
There are no prerequisites for installing this hotfix package.

Restart requirement
You do not have to restart your computer after you apply this hotfix.

Hotfix replacement information
This hotfix does not replace any other previously-released hotfixes.

Registry information
To use one of the hotfixes in this package, you do not have to make any changes to the registry.

Windows Vista, 64-bit versions
The English version of this hotfix has the file attributes (or later file attributes) 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 item in Control Panel.



WORKAROUND
To work around this problem, disconnect the computer from network. You can use one of the following methods to disconnect the computer from network:
 * Disable the network adapter on the computer.
 * Unplug the network cable from the computer.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Call stack information
1: kd> ?? tdx!tdxdevicelist.Lock.OwnerThread struct _KTHREAD * 0x841c4d78

1: kd> !thread 0x841c4d78 THREAD 841c4d78 Cid 0004.003c  Teb: 00000000 Win32Thread: 00000000 WAIT: (Executive) KernelMode Non-Alertable 82fab5bc NotificationEvent Not impersonating DeviceMap                83408a30 Owning Process           84172ab0       Image:         System Wait Start TickCount     91389          Ticks: 5071 (0:00:01:19.234) Context Switch Count     5465 UserTime                 00:00:00.000 KernelTime               00:00:00.187 Win32 Start Address nt!ExpWorkerThread (0x81c78d1b) Stack Init 82fac000 Current 82fab3b0 Base 82fac000 Limit 82fa9000 Call 0 Priority 15 BasePriority 12 PriorityDecrement 0 IoPriority 2 PagePriority 5 ChildEBP RetAddr Args to Child 82fab3c8 81cac9cf 841c4e00 841c4d78 841c4e30 nt!KiSwapContext+0x26 (FPO: [Uses EBP] [0,0,4]) 82fab404 81c29308 841c4d78 00000103 82fab56c nt!KiSwapThread+0x389 (CONV: fastcall) 82fab464 820ef6da 82fab5bc 00000000 00000000 nt!KeWaitForSingleObject+0x414 (CONV: stdcall) 82fab48c 82027771 00000000 00000000 00fab56c ndis!ndisQuerySetMiniport+0x184 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab5fc 82025c6d 84bb5488 84ce13a8 84a993f0 ndis!ndisIfGetMiniportStatistics+0x1f6 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab6c8 82027202 84a993f0 00020106 82fab6f0 ndis!ndisIfQueryObject+0x8bf (FPO: [Non-Fpo]) (CONV: stdcall) 82fab708 82024688 890c8ab0 91b0e7e8 82fab728 ndis!ndisNsiGetInterfaceRodInformation+0x4db (FPO: [Non-Fpo]) (CONV: stdcall) 82fab764 823a0a21 00fab7b0 81c7456e 82fab8c4 ndis!ndisNsiGetAllInterfaceInformation+0x2bf (FPO: [Non-Fpo]) (CONV: stdcall) 82fab818 823a885d 82fab828 00000000 00000000 NETIO!NsiEnumerateObjectsAllParametersEx+0x4eb (FPO: [Non-Fpo]) (CONV: stdcall) 82fab864 823a8780 00000001 00000001 823c7434 NETIO!NsiEnumerateObjectsAllParameters+0x79 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab8c8 823a9dac 00000001 823c7434 00000000 NETIO!NsiAllocateAndGetTable+0xee (FPO: [Non-Fpo]) (CONV: stdcall) 82fab948 823a9d43 00000001 00000000 82fab96c NETIO!InternalGetIfTable2Ex+0x60 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab95c 95147438 82fab96c 00000000 00000000 NETIO!GetIfTable2+0x11 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab970 95146adb 91b0d18c 00000008 95145898 srvnet!SrvNetWskFindLoopbackInterface+0x12 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab97c 95145898 91b0d18c 91af5098 95152000 srvnet!SrvNetWskEnableImplicitLoopbackInterface+0x14 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab994 95154143 00000008 951512c8 04000000 srvnet!SrvNetWskEnableInterface+0x99 (FPO: [Non-Fpo]) (CONV: stdcall) 82fab9cc 9515516f 00000001 91af5098 84700560 srvnet!SrvNetTdiNotifyChangesToNetBt+0xa6 (FPO: [Non-Fpo]) (CONV: stdcall) 82faba08 89c539db 00000001 91af5098 84700560 srvnet!SrvNetTdiPnPBindingHandler+0x159 (FPO: [Non-Fpo]) (CONV: stdcall) 82faba34 89c54000 89c561a0 84700560 00000001 TDI!TdiNotifyPnpClientList+0xdb (FPO: [Non-Fpo]) (CONV: stdcall) 82faba58 89c542f4 9695eb38 00000000 95a47848 TDI!TdiExecuteRequest+0x274 (FPO: [Non-Fpo]) (CONV: stdcall) 82faba90 89c54388 00af5058 0000000d 8c22e288 TDI!TdiHandleSerializedRequest+0x1aa (FPO: [Non-Fpo]) (CONV: stdcall) 82fabaac 8c227a7e 95a47848 95a47930 00000000 TDI!TdiRegisterDeviceObject+0x80 (FPO: [Non-Fpo]) (CONV: stdcall) 82fabbb4 8c228331 82fabc0c 00000000 82fabc00 tdx!TdxCreateAndRegisterDeviceObject+0x3de (FPO: [Non-Fpo]) (CONV: stdcall) 82fabc24 8c2285a9 00000000 00000000 8c800ab8 tdx!TdxProcessInterfaceChangeRoutine+0x1db (FPO: [Non-Fpo]) (CONV: stdcall) 82fabc40 823a62fa 8c22e494 82fabccc 82fabcd4 tdx!TdxNaInterfaceChangeEvent+0x7d (FPO: [Non-Fpo]) (CONV: stdcall) 82fabca8 8cb43417 82fabcc0 81fa4f00 891d97a0 NETIO!NsiParameterChange+0x73 (FPO: [Non-Fpo]) (CONV: stdcall) 82fabcf8 8cb45877 848d8df8 8c82c9e4 82fabd2c tcpip!IppNotifyInterfaceChangeAtPassive+0xb5 (FPO: [Non-Fpo]) (CONV: stdcall) 82fabd08 823a14cd 848d8df8 81cfde3c 8c800cc8 tcpip!IppCompartmentNotificationWorker+0x11 (FPO: [Non-Fpo]) (CONV: stdcall) 82fabd2c 81d8c88c 8c800cc8 8c82c9e4 8c82b208 NETIO!NetiopIoWorkItemRoutine+0x2f (FPO: [Non-Fpo]) (CONV: stdcall) 82fabd44 81c78e18 8c82b208 00000000 841c4d78 nt!IopProcessWorkItem+0x2d (CONV: stdcall) 82fabd7c 81e254a8 8c82b208 82fa0680 00000000 nt!ExpWorkerThread+0xfd (CONV: stdcall) 82fabdc0 81c9145e 81c78d1b 00000001 00000000 nt!PspSystemThreadStartup+0x9d (CONV: stdcall) 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

1: kd> !exqueue Dumping ExWorkerQueue: 81CFDE00

THREAD 841970b8 Cid 0004.001c  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c3020 Cid 0004.0020  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c3d78 Cid 0004.0024  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c3ad0 Cid 0004.0028  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c3828 Cid 0004.002c  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 890b4ad0 Cid 0004.0208  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 890b4828 Cid 0004.020c  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 847e95a0 Cid 0004.0db8  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 848b3d78 Cid 0004.03c4  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84ae9a40 Cid 0004.0ecc  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84b54798 Cid 0004.0978  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84bf7d78 Cid 0004.095c  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84abbd78 Cid 0004.04d0  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 8482d728 Cid 0004.09ec  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 847f44c0 Cid 0004.09c4  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84b51518 Cid 0004.0ea0  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 95b5f420 Cid 0004.0e54  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84ce2020 Cid 0004.08cc  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 91b0d570 Cid 0004.0bc0  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 84c75d78 Cid 0004.0af8  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 8c9c1950 Cid 0004.0e3c  Teb: 00000000 Win32Thread: 00000000 WAIT
 * Critical WorkQueue( current = 0 maximum = 2 )

PENDING: WorkerRoutine ndis!ndisWorkItemHandler (820ef005) Parameter 84915540 PENDING: WorkerRoutine ndis!ndisWorkItemHandler (820ef005) Parameter 849033a8

PENDING: WorkerRoutine Ntfs!NtfsCheckUsnTimeOut (8232bf44) Parameter 00000000 PENDING: WorkerRoutine nt!IopProcessWorkItem (81d8c85f) Parameter 84757dd8 PENDING: WorkerRoutine nt!IopProcessWorkItem (81d8c85f) Parameter 95bee938

THREAD 841c3580 Cid 0004.0030  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c32d8 Cid 0004.0034  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c4020 Cid 0004.0038  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c4d78 Cid 0004.003c  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c4ad0 Cid 0004.0040  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c4828 Cid 0004.0044  Teb: 00000000 Win32Thread: 00000000 WAIT THREAD 841c4580 Cid 0004.0048  Teb: 00000000 Win32Thread: 00000000 WAIT
 * Delayed WorkQueue( current = 0 maximum = 2 )

THREAD 841c42d8 Cid 0004.004c  Teb: 00000000 Win32Thread: 00000000 WAIT
 * HyperCritical WorkQueue( current = 0 maximum = 2 )

One of the critical work queue threads (The others all show the same stack as this one) -

1: kd> !thread 841970b8 THREAD 841970b8 Cid 0004.001c  Teb: 00000000 Win32Thread: 00000000 WAIT: (Executive) KernelMode Non-Alertable 8c22f308 Mutant - owning thread 841c4d78 Not impersonating DeviceMap                83408a30 Owning Process           84172ab0       Image:         System Wait Start TickCount     91226          Ticks: 5234 (0:00:01:21.781) Context Switch Count     2 UserTime                 00:00:00.000 KernelTime               00:00:00.000 Win32 Start Address nt!ExpWorkerThread (0x81c78d1b) Stack Init 82fd8000 Current 82fd7ae8 Base 82fd8000 Limit 82fd5000 Call 0 Priority 13 BasePriority 13 PriorityDecrement 0 IoPriority 2 PagePriority 5 ChildEBP RetAddr Args to Child 82fd7b00 81cac9cf 84197140 841970b8 84197170 nt!KiSwapContext+0x26 (FPO: [Uses EBP] [0,0,4]) 82fd7b3c 81c29308 841970b8 8488d4f8 8488d508 nt!KiSwapThread+0x389 (CONV: fastcall) 82fd7b98 8c226e8a 8c22f308 00000000 00000000 nt!KeWaitForSingleObject+0x414 (CONV: stdcall) 82fd7bd0 8c2282ac 8488d4f8 8488d4f8 82fd7cd8 tdx!TdxProcessIfMediaStateChangeRoutine+0x32 (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7c34 8c2285a9 00000100 00000000 8c83afa0 tdx!TdxProcessInterfaceChangeRoutine+0x156 (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7c50 823a62fa 8c22e50c 82fd7cd8 82fd7ce0 tdx!TdxNaInterfaceChangeEvent+0x7d (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7cb8 820296b5 82fd7ccc 820d66c0 81fa4d90 NETIO!NsiParameterChange+0x73 (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7cf0 8202d629 95a58ab0 07000000 00060000 ndis!ndisNsiNotifyClientInterfaceChange+0x9d (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7d34 820ef013 848fbfc8 018fbfc8 82fd7d7c ndis!ndisNsiQueuedMiniportRodChangeNotification+0xb1 (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7d44 81c78e18 848fbfc8 00000000 841970b8 ndis!ndisWorkItemHandler+0xe (FPO: [Non-Fpo]) (CONV: stdcall) 82fd7d7c 81e254a8 848fbfc8 82fdc680 00000000 nt!ExpWorkerThread+0xfd (CONV: stdcall) 82fd7dc0 81c9145e 81c78d1b 00000000 00000000 nt!PspSystemThreadStartup+0x9d (CONV: stdcall) 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+

Additional query words: TDX, TDX.sys, lock, deadlock

Keywords: kbfix kbqfe kbpubtypekc kbexpertiseadvanced kbhotfixserver KB934611

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.