Suggestions for "message pump less" process freeze detectio
Posted: Mon Jun 26, 2017 2:53 pm
Hello,
We are running unattended integration tests at night and some are interacting with Excel or Word via OLE. Those two programs are notorious for popping up dialogs even if the appropriate options have been set.
When that happens, the calling program is stuck, waiting for a non existent user to click on OK.
In our launch system, we have a watcher that kills a process that takes more than 3 hours to execute but when it does so, there is no stack trace printed.
I have read about madTraceProcess32/64 and it could help, except that I could not find a way to call it from the command line.
Now, I could write code to specifically test for that kind of situation, but I'm not sure how to proceed considering that there is no message pump. One idea that comes to mind is to create a bug report periodically and if 10 times in a row I get the same one, trigger the "anti freeze" detection.
But that idea needs quite a bit of filtering because there are timestamps at various locations.
Any other ideas?
We are running unattended integration tests at night and some are interacting with Excel or Word via OLE. Those two programs are notorious for popping up dialogs even if the appropriate options have been set.
When that happens, the calling program is stuck, waiting for a non existent user to click on OK.
In our launch system, we have a watcher that kills a process that takes more than 3 hours to execute but when it does so, there is no stack trace printed.
I have read about madTraceProcess32/64 and it could help, except that I could not find a way to call it from the command line.
Now, I could write code to specifically test for that kind of situation, but I'm not sure how to proceed considering that there is no message pump. One idea that comes to mind is to create a bug report periodically and if 10 times in a row I get the same one, trigger the "anti freeze" detection.
But that idea needs quite a bit of filtering because there are timestamps at various locations.
Any other ideas?