I had this problem.
I wrote a .Net application that emulated keystrokes for other applications. I would leave him all night, hoping to find him, doing all my work by morning. He just disappeared. He wrote a journal every time he went in and out of the procedure so that I could see exactly what he had done. Nothing, no exception logs. Just work work. And then nothing.
It turns out that this is because I used a bunch of API calls, and I called them very often. This caused some memory leak, presumably in my application workspace.
<dirtyhack> As I decided, this was written by another .Net application (application 2), which launched a crash (application 1). After application 1 has terminated, but only the application of shell 2 before. Then application 2 launched application 1. </dirtyhack>
etc. etc. until all work has been completed! Anxiety and frustration, but ended up working pretty nicely :) I'm sure there is a much better way to do this. I probably did not collect my COM API calls correctly or anything else.
But it seems that closing the application and restarting it freed up memory (along with leaks) and allowed it to start again.
You may have nothing to use in your story, but this is my story. Amen.
El ronnoco
source share