Dr Watson can cause 4.62x DP4 to hang - A4000028 - 27 Jan 2005

If one of the DP4 interface programs, (all DP4 files with .w32 extension), generates an exception then applications should receive a FAIL 9 error, and it should be possible to shut the DP4 service down relatively cleanly. On some versions of Windows, if Dr Watson (DRWTSN32.EXE) is installed as the application debugger, then instead of terminating, DP4 hangs completely: if DP4 is running as a service the computer has to be rebooted before DP4 can run again; if DP4 is running as an application it is necessary to log off and log back on. No DP4 error messages are displayed.

Exactly which versions of Windows may be affected by this problem is is not yet known: so far it has only been seen on Windows 2000 server, but the problem may well arise on other versions. (It seems not to arise on Windows XP - if Dr Watson fails to attach the faulting program terminates). Security settings are likely to strongly influence whether this problem can arise or not. Windows 9x/Me versions are definitely not affected.

The cause of the problem is an interaction between a change made to DP4 for 4.620 and a bug in Dr Watson: from 4.620 the DP4 interface programs attempt to secure their process space from other programs. This is a security measure: malicious programs may try to create threads in service programs as a means of acquiring enhanced privileges and performing an exploit. On some machines DP4 is extremely successful in locking itself down, and as a result Dr Watson may be unable to attach to DP4 interface programs to produce its log file. When this happens, instead of allowing the DP4 program to terminate, the program is kept in limbo for ever, and the entire DP4 system grinds to a halt.

In order to solve it is necessary to change DP4, as Microsoft are unlikely to fix Dr Watson. If you need to know whether or not your Windows configuration is affected we can send a program that can be run as part of the DP4 service that will deliberately crash. If DP4 fails to terminate then your Windows configuration is affected. Added 27 Jan 2005 A fix for this problem is available in release 4.621a and 4.622. In those releases dp4srvr.w32 handles its own exceptions.

Work Around Solutions

There are several possible work-arounds for this problem: