UGTS Document #9 - Last Modified: 8/29/2015 3:23 PM
Windows XP Hangs if Network Locations are Unavailable

If Explorer hangs for nearly a minute when you right-click or double-click a file, and during that hang you can do nothing but Alt+Tab, you may be experiencing the XP Network Timeout bug.

The timeout bug causes Explorer in Windows 2003 and earlier to become completely unresponsive for nearly a minute while it tries to repeatedly access a network location with a 10 second timeout on each try.  During this timeout period, you can do nothing with Explorer but use Alt+Tab to switch between programs.  Windows Vista and higher does not have the problem.

The timeout bug can triggered in many different ways in Explorer in Windows Server 2003 and earlier.  One way it is triggered is when you right-click or double click a file.  When you do this, Explorer goes to the registry to find file associations, and looks up paths to applications which can open the file type, displaying a icon of the program.  Unfortunately, if the program is on a network path, then XP will timeout for a minute trying to read the icon from a path it can't reach.

Another way it is triggered is when you've mapped a network drive, and the destination is unreachable.  When you do this, if you browse to My Computer, Explorer will hang in trying to open the window to display the list of drives.

Because of this bug, if you are using Windows Server 2003 or earlier, you have to drive defensively to prevent the timeouts:
  • Network Drives - never map a network drive persistently UNLESS you also make the drive available offline

  • File Associations - never select a program to open a file type from a network path.  Instead, always install the program locally and use the local path to the program for a file association.

If you have accidentally created a file association to a network path, run NirSoft FileTypesMan, and look through the Application entries at the Command Line values for network paths.  If you find any, edit them to point to local paths instead.  This might require you to install the application to the local machine.