Re: A Very Troubled Application...
Adam Tuliper <[email protected]> Tue, 9 Jun 2009 17:19:50 -0400
| Newsgroups | gmane.comp.windows.devel.dotnet.advanced |
|---|---|
| Message-ID | <[email protected]> |
"Another problem with this process is that it only allows one instance at a time (by reading the process list and seeing if it's already there and if it is it throws up another dialog)." if you don't mind patching the code.. it probably shouldnt be that difficult to figure out with a little reverse engineering how to bypass its single instance check. if you want any direction on this email me offline. On Tue, Jun 9, 2009 at 4:53 PM, Mike Andrews <[email protected]>wrote: > I know that after repeatedly causing this application to crash my machine > became unstable and unusable. > I'm just really at my wits end on this one. > On Tue, Jun 9, 2009 at 3:30 PM, Adam Tuliper <[email protected]> > wrote: > > > I seem to recall the opposite was true.. Windows isn't very good about > > cleaning up resources (at least in the past) because of the way libraries > > dont get freed because the reference count handling is never executed.. > > something along those lines. Although if someone can provide some more > > technical reference on if this is true or not.. Id love to read it. > > > > > > > > On Tue, Jun 9, 2009 at 1:00 PM, Peter vd Weerd <[email protected]> > wrote: > > > > > 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 > > > > > > > =================================== > > 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 > =================================== View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives