dbdesc blog

database documentation

ExecutionEngineException Nightmare

Last week, a potential customer of dtsdoc reported a new error. It was an ExecutionEngineException. Let me tell you that this is one of the worse exceptions you can get from a .NET application.

To begin with, this exception cannot be catched, which means you don’t get a nice call stack or any other useful info to track down the problem.

If you dig in MSDN you will find this explanation: “The exception that is thrown when there is an internal error in the execution engine of the common language runtime.”, not very helpful.

Finally if you google about it, you’ll find lots of exasperated people looking for answers but almost no solutions at all. One thing that seems to share all those posts is that they are trying to do some kind of interop with COM objects.

To make a long story short, it was a bug in the Microsoft DTS libraries that dtsdoc uses to inspect and document DTS packages. The bug is fixed in SQL Server 2000 Service Pack 4, so updating those libraries solved the problem.

So, if you run into some RuntimeExecutionException, check your unmanaged libraries first, chances are that any of those libraries has a bug.

Comments