GenGetProcessInfo.Start(0x1234) failed, 0x800700ea

This is rather obscure but seems to come up every so often.

Here 0x1234 would be the process ID of the process that we were attempting to dump. The Win32 error is 0x800700ea

The issue here was that one of my colleagues was having trouble generating a memory dump of a w3wp.exe hosting a particular web application. It kept failing with this error or some variant of it with just about any dump generating tool. Dumps of other web applications on the same machine were fine.

It turns out the root cause here was the full path of some temporary ASP.NET compiled module mapped into the process was too long and exceeded the system defined MAX_PATH.

The workaround is to configure ASP.NET to compile its temporary assemblies into some location with a shorter path by setting the tempDirectory attribute of the compilation element.

Thanks to Mourad and Joao for this one.