Windows XP Explorer freezes

I’ve finally managed to track down and solve a problem that has been driving me batty for months. My main machine runs Windows XP. I run VMware Workstation on it and use virtual machines for development and testing.

The problem I have had for about a year now is a tendency for Explorer to hang up for anything from half a minute to a couple of minutes, intermittently. When this happened other apps would generally still operate, as long as they weren’t using Explorer themselves, Alt-Tab would allow shifting between them,  VMs would usually still work, but the Taskbar and all explorer windows would be frozen in the host XP machine. On unfreezing, all the mouseclicks and keystrokes sent to explorer would be actioned, usually causing windows to restore and minimise all over the place.

It’s been obvious to me for a long time that the problem was associated with VMware, it would only happen while it was running, would be a lot worse if the VM was hammering the machine, and would almost always happen on shutting down a VM or closing VMware itself. I’ve been unable to find anything on the VMware site, or anywhere else, about the problem.

Yesterday I was running some big database jobbies in a VM and the host machine was unusable most of the time with these freezes, so I decided to track it down once and for all. I’ve always suspected that the problem would be an interaction between an Explorer plug-in of some sort, and VMware. I got a copy of ShellExView, a freeware program from NirSoft that lists all the installed Shell Extensions (aka Explorer plug-ins) and lets you disable them selectively.

A quick bit of binary chopping narrowed it down to either Tortoise or Carbonite. I’d hate to lose either of these. Tortoise is a wonderful front end to the immensely powerful Subversion source control software (so much easier to use with a GUI), and Carbonite is the off-site backup software I use. Both of these programs hook into Explorer to show the state of files, in Tortoise’s case what has changed since the last update from the repository server, and in Carbonite’s which have and have not yet been backed up.

I suspect that part of the problem may be these two programs tripping over one another trying to do the same things to Explorer, but it seems odd that it only goes wrong when VMware is running. It’s quite possible that Tortoise isn’t part of the problem at all, as I seem to have been able to cure the problem by disabling the Shell Extension that Carbonite uses to display the icons. Just switching off that display within Carbonite wasn’t enough – the extension itself had to be disabled. Fortunately, I don’t need to use that very often, and it is no big deal to make sure that VMware isn’t running when I do.

Edit: Next day when I started up the machine again the lockups were back, so it looks like it wasn’t Tortoise or Carbonite after all that. Going through the ShellExView list again I noticed that I had also disabled a shell menu hook, mpvthook.dll, that was installed by the drivers for my Samsung monitor, a 971P. Unusually, it really is worth having drivers installed for this monitor because it has a swivel feature, with which I can physically turn it between landscape and portrait and Windows can recognise this and rotate its display to match.

For some reason, though, it insists on installing a load of GUIs for this, including a system tray icon and a keyboard hook. These are completely unnecessary, and the latter is particularly irritating, because the easiest way to switch it is to move the monitor, not to instruct the software “by hand”. It also puts in this shell hook, which adds menu items to the desktop right click menu, which completely mess up its display (and add yet another load of unnecessary menu items to rotate the display). The most irritating thing about this is that if I try to disable it, it gets re-enabled whenever I log in, so in the end I just renamed it (after trying a new version and finding no improvement). So, this is today’s fix for the explorer hang ups, and it is working so far even with Tortoise and Carbonite both enabled. The only hangup I’m seeing now is one long one whenever I suspend a VM.

Fingers crossed it’s now near enough fixed.

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.