Re: A Very Troubled Application...

Peter vd Weerd <[email protected]> Tue, 9 Jun 2009 19:00:29 +0200
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <[email protected]>
Mike,

In general: if you have access violations caused by COM-components, its not 
a good idea to recover from that.
If you can isolate the complete application to a kind of a worker-process, 
you write a controller-program that starts this worker-process, and if it 
fails, just start a new one.

Windows is very good in recovering from crashed processes: all resources are 
freed. So, when the controller process fires up a new worker-process its a 
brand new one with clean memory, a clean .NET virtual machine, etc.

/Peter


----- Original Message ----- 
From: "Mike Andrews" <[email protected]>
To: <[email protected]>
Sent: Tuesday, June 09, 2009 6:06 PM
Subject: [ADVANCED-DOTNET] A Very Troubled Application...


>I have a very troubled application (not mine but a 3rd party) that likes to
> fail with various Unhandled exceptions (memory access and others) when
> certain files are loaded (I have no idea of the reason).  Sometimes 
> loading
> a file causes a COM exception to occur (no one knows why and it's very
> unlikely that the manufacturer will ever fix it).  This causes the entire
> application to crash (and/or provide some other unpredictable behavior).
> This does not occur most of the time but only occasionally.  However I 
> must
> account for these eventualities as this process will be running on 
> multiple
> servers and I need it the most stable I can get it.
>
> What I have been doing is looking for the process in the process list and
> then killing it.  That works most of the time but when one of those 
> dialogs
> is thrown up asking you to click OK it really messes things up.  I've
> started looking for the dialog, but the time when the dialog appears 
> varies
> so any predictability is out.
>
> What I need to know is if it's possible to attach a hook (or some other 
> such
> mechanism) to the window to intercept any unhandled win32 exceptions 
> similar
> to the capability available in the .NET framework.  I'm at my wit's end 
> here
> on this one.  I need to create something stable enough so I can recover on
> the server and continue.
>
> Any help or information would be most appreciated.
>
> Thanks,
> Mike
>
> ===================================
> View archives and manage your subscription(s) at 
> http://peach.ease.lsoft.com/archives
> 

===================================
View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives