crash dump report

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

crash dump report

ar-4
I've had a crash in a very stable dolphin executable app. This is just a
simple socket daemon type app which spawns dolphin threads to handle SMTP
sessions. It has a simple console window with a richedit log pane (which
didn't have much in it when it crashed, (s/b <32k). It seems it didn't
blow anywhere in my code so I have no idea what happened or how to fix it.
This app has been running for days on a dedicated machine (win 2003
server) nothing else running on it. This is the only crash so far. Can
anyone give me any interpretation of the below?



************************** Dolphin Crash Dump Report*******************

18:53:04 PM, 7/27/2003: smtpreceiver.exe caused an unhandled Win32
Exception C0000005 at 0040826C in module 00400000
(C:\mail\smtpreceiver.exe)

*----> Exception Parameters <----*
00000001        
00ABC008        

*----> CPU Context for thread 0x5f8 <----* EAX = 06DCBC90 EBX = 00000001
ECX = 00ABC000 ESI = 00000008 EDI = 00430B58 EIP = 0040826C ESP = 0752FE14
EBP = 00AA0274 EFL = 00010206 CS = 001B SS = 0023 DS = 0023 ES = 0023 FS =
0038 GS = 0000

****N.B. This exception did NOT occur in the main Dolphin execution thread
****

*----> CPU Context for main thread 0x33c <----* EAX = 000000C0 EBX =
0012FBC8 ECX = 00000011 ESI = 000002E0 EDI = 00000000 EIP = 7FFE0304 ESP =
0012F788 EBP = 0012F7F8 EFL = 00000246 CS = 001B SS = 0023 DS = 0023 ES =
0023 FS = 003B GS = 0000

In module 7FFE0000 (<UNKNOWN>)


***** End of crash report *****


Reply | Threaded
Open this post in threaded view
|

Re: crash dump report

Steve Alan Waring
Hi Alan,

<snip>
> ****N.B. This exception did NOT occur in the main Dolphin execution
> thread ****
>
> *----> CPU Context for main thread 0x33c <----* EAX = 000000C0 EBX =
> 0012FBC8 ECX = 00000011 ESI = 000002E0 EDI = 00000000 EIP = 7FFE0304
> ESP = 0012F788 EBP = 0012F7F8 EFL = 00000246 CS = 001B SS = 0023 DS =
> 0023 ES = 0023 FS = 003B GS = 0000
>
> In module 7FFE0000 (<UNKNOWN>)

I have had a couple of these and have always been able to track the problem
down . The first time I saw one was during the beta for D5. Blair's response
at that time was:

Blair McGlashan wrote:

> I have seen something similar to this before when a thread started by
> a DLL that Dolphin had loaded (in this case directly, but that need
> not necessarily be the case) was crashing. In that case it was the
> HTML help OCX, and it was crashing when switching away from a dolphin
> deployment. It turned out that it had not been shut down properly,
> and I imagine that it hooks application activation/deactivation in
> some way. This was particularly likely to show up when a particular
> virtual window manager was used.
>
> One possibility to consider is that a definitely a foreign thread has
> "successfully" called back into Dolphin. A callback on another thread
> might occur, for example, by passing out an unmarshalled COM
> interface pointer to something which then holds a ref. to it and uses
> it from another thread. The rules, and system infrastructure, of COM
> help to guard against this happenning, but it is possible to do it.
> Also a standard callback object could be passed to an API which
> captures it and calls it from another thread. The VM guards against
> incoming calls from foreign threads and marshals them onto the main
> thread (an action which might cause a deadlock, but there is little
> other choice), so I can't quite see how it would happen, but it is
> worth being aware of.
>
> By far the most likely explanation would be either the first, i.e.
> that a thread has been started by a component that Dolphin is using
> and is crashing, or that some overlapped call is crashing.

The approach I took to track down the cause of the problem is to configure
the OS to write a Dr Watson crash dump file for an unhandled exception. That
report contains the addresses of the dlls that were loaded in the Dolphin
process. For your case, I would look for what DLL was at 7FFE0000.

The first time I saw this, the DLL was some kind of sound codec DLL. I
uninstalled that codec and the problem went away.

The second time, the DLL was gdiplus.dll, and after a bit of digging in
MSDN, I found that there was a thread that was crashing due to the way the
library was being shutdown.

Hope this helps!
Steve
--
Steve Waring
Email: [hidden email]
Journal: http://www.stevewaring.net/blog/home/index.html