• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1342
  • Last Modified:

ReleaseMutex Error

I have a customer that reported that drwtsn32.exe reports

  faulting module kernel32.dll
  The exception generated was c00000fd at address 7C8024E5
  (kernel32 ReleaseMutex)

After my app closes.  Of course, I can't re-create the error.  

The error message appears randomly, quite often on one workstation, infrequently on one other workstation, and not at all (so far) on five others.  We have more than 300 customers, and this one is the only customer that has reported this.

I am using Delphi 7, and do not call ReleaseMutex in my code.  I am also using EurekaLog, and my app closes without raising an EurekaLog exception, so I assume that my app is closing correctly.

Any ideas on how to approach this problem?

Thanks in advance.

Howard Denmark
  • 2
  • 2
1 Solution
First is to realize that there's something odd about that cusromer's environment (unless all the others are remarkably uniform).  

At first blush, it sounds like dll hell.  Probably some widely used dll has been replaced at their site by some other piece of software they use.

Presuming you can't travel to their site or remote into them, I'd have them install Depends

on of their frequently failing boxes, profile your app, then have them send you the generated log file (.dwi) so you can see the chain of dll calls leading up to the failure.  You then call them back to get the version info for each of the called dlls.

Emphasize that only their site fails and it would be in the best interests of both of you to find out what is non-standard about them.
HDenmarkAuthor Commented:
cookre, thanks for the idea.  

I've downloaded Depends and am studying it.  This is new ground for me (I may need the other kind of Depends before I figure all this out).

It seems to me that sending the Depends files and a BAT file to the customer might be the easiest way to get him to profile the app by simply running the BAT file.  Does that make sense to you?

I'm reading the Depends help and can't even see how to specify the app on the command line.  Is it as simple as Depends.exe appname options?  If not, can you direct me to some tutorials that show examples of the Depends console commands?  

I just looked at its help for the first time, told it to maximize its search capabilities, went to the index, typed in 'command', and up popped a gazillion options.

depends /?

will also show command line options.

If you've the time to fiddle, you might be able to parse the dwi file on the customer machine to identify dlls called and then get their version info programmatically.
HDenmarkAuthor Commented:
Darn, you're good!  Thanks!

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now