Every so often when running our application with TestComplete, the application freezes up and crashes.
After discussions with a developer, it looks like our logs caught an issue with TestComplete running out of memory when attempting to drive the application.
The following message shows up in our logs:
2018-03-19 14:52:32.3169 An unhandled dispatcher exception has occurred. System.ComponentModel.Win32Exception (0x80004005): Not enough quota is available to process this command
at MS.Win32.UnsafeNativeMethods.PostMessage(HandleRef hwnd, WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
at System.Windows.Interop.HwndTarget.OnWindowPosChanging(IntPtr lParam)
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Any thoughts? Or any way to fix this? Or is this maybe a defect in TestComplete?
I'm not seeing where in that stack trace anything specifically implicates TestComplete. If this is showing in your application logs, then there's something in your application that is consuming memory.
Now, it COULD be TC's interaction with it... but without more information, it's hard to say.
Yeah, I'm not fully convinced either, but I'm trying to figure out some way to get to the root issue.
The dev I'm working with is fairly confident in this being an issue with TestComplete (though he's biased against it).
I also keep running into the problem that this only seems to happen when TestComplete is running the application.
It would be interesting to know if there are particular parts of your test case where this happens regularly.
I'm assuming it's a desktop application... what technology is it written in (Delphi, C# .NET, etc)?
It would be, and I'm going to keep some records around it. The other problem is that "often" is a weird term in this case. I can't seem to find any pattern, and the issue doesn't seem to crop up often enough to be reproducible easily.
I was hoping to find someone with a similar issue, or at least suss out any more ideas on how to get to the root of this.
It's written in C#, and we are using WPF.
One thing is that TestComplete execution does have an overhead on the machine. So, if the machine you're running your tests on is just around the minimum recommended for your application and you add TC/TE on top, yeah, you'll have memory issues.
That could definitely be the case, and I should gather some data on the machines that have had this issue.
I would recommend to create a Support ticket via the https://support.smartbear.com/message/?prod=TestComplete form. Support guys may ask you for the information that may help them to find the root of the problem. (Note, that SmartBear considers requests to sign NDA if your company thinks that this is needed.)
Additionally, you may consider to use the Report Generator tool provided with TestComplete (https://support.smartbear.com/testcomplete/docs/testing-with/advanced/tracing-critical-errors/report...) and use it to try to get the stack traces that might help your developers to find the reason of the problem internally. (I don't remember if it is explicitly described in the documentation, but it is possible to start more than one instance of Report Generator and attach them to different applications to get more than one synchronized stack traces if needed.)
If you are facing this issue "Not Enough Quota Is Available To Process This Command" repeatedly, and really want to get rid of it, then simply you have to follow this link, as here you will get the exact solution for this error.