Often times our automation build hangs on random tests. I have been able to narrow the hang down to the Manager.Dispose function.
We are automating a Silverlight application in IE.
When the hang happens there are no instances of IE open and I have to kill the hosting process (nunit-console.exe) in task manager.
Is this a known issue? Is there any way for me to work around this?
I have crash dumps I can make available if necessary.
Here are some specs of the environment:
WebAII version: Telerik_Testing_Framework_2011_2_1413_FREE_EDITION
OS: Windows Server 2003 Service Pack 2 32bit
Browser: IE 8
Test Harness: NUnit
.Net Version: 4.0
Silverlight Version: 5.0
Ram: 1gb
CPU: 1 Cores @ 2.1 Ghz
The following is the call stack for the thread that is hung:
We are automating a Silverlight application in IE.
When the hang happens there are no instances of IE open and I have to kill the hosting process (nunit-console.exe) in task manager.
Is this a known issue? Is there any way for me to work around this?
I have crash dumps I can make available if necessary.
Here are some specs of the environment:
WebAII version: Telerik_Testing_Framework_2011_2_1413_FREE_EDITION
OS: Windows Server 2003 Service Pack 2 32bit
Browser: IE 8
Test Harness: NUnit
.Net Version: 4.0
Silverlight Version: 5.0
Ram: 1gb
CPU: 1 Cores @ 2.1 Ghz
The following is the call stack for the thread that is hung:
ntdll.dll!_KiFastSystemCallRet@0()
ntdll.dll!_NtWaitForMultipleObjects@20() + 0xc bytes
kernel32.dll!_WaitForMultipleObjectsEx@20() + 0xd2 bytes
user32.dll!_RealMsgWaitForMultipleObjectsEx@20() + 0xbf bytes
ole32.dll!CCliModalLoop::BlockFn() + 0x358 bytes
ole32.dll!_CoWaitForMultipleHandles@20() + 0xb7 bytes
[Managed to Native Transition]
mscorlib.dll!System.Threading.WaitHandle.InternalWaitOne(System.Runtime.InteropServices.SafeHandle waitableSafeHandle, long millisecondsTimeout, bool hasThreadAffinity, bool exitContext) + 0x2b bytes
mscorlib.dll!System.Threading.WaitHandle.WaitOne(System.TimeSpan timeout, bool exitContext) + 0x6e bytes
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.DispatcherOperationEvent.WaitOne() + 0x35 bytes
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan timeout) + 0x87 bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs) + 0xdb bytes
WindowsBase.dll!System.Windows.Threading.Dispatcher.CriticalInvokeShutdown() + 0x63 bytes
ArtOfTest.WebAii.dll!ArtOfTest.WebAii.Win32.UIADispatcherProvider.ClearDispatcher() + 0x47 bytes
ArtOfTest.WebAii.dll!ArtOfTest.WebAii.Core.Manager.End() + 0x37c bytes
ArtOfTest.WebAii.dll!ArtOfTest.WebAii.Core.Manager.Dispose(bool disposing) + 0x1c bytes
WebWise.Automation.Framework.DLL!WebWise.Automation.Framework.WebWiseAutomationClient.Dispose() Line 144 + 0x1c bytes C#
WebWise.Automation.Tests.DLL!WebWise.Automation.Tests.BaseAutomationFixture.FixtureTearDown() Line 43 + 0x49 bytes C#
[Native to Managed Transition]
[Managed to Native Transition]
nunit.core.DLL!NUnit.Core.Reflect.InvokeMethod(System.Reflection.MethodInfo method, object fixture, object[] args) + 0x39 bytes
nunit.core.DLL!NUnit.Core.TestSuite.DoOneTimeTearDown(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}) + 0x92 bytes
nunit.core.DLL!NUnit.Core.NUnitTestFixture.DoOneTimeTearDown(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}) + 0xf bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x20d bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestFixture.Run(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x61 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.SetUpFixture.Run(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x61 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestResult suiteResult = {NUnit.Core.TestResult}, NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter = {NUnit.Core.TestFilter.EmptyFilter}) + 0x188 bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuite(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x1dc bytes
nunit.core.DLL!NUnit.Core.TestSuite.RunSuiteInContext(NUnit.Core.EventListener listener, NUnit.Core.ITestFilter filter) + 0x43 bytes
nunit.core.DLL!NUnit.Core.TestSuite.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter) + 0x67 bytes
nunit.core.DLL!NUnit.Core.SimpleTestRunner.Run(NUnit.Core.EventListener listener = {NUnit.Core.QueuingEventListener}, NUnit.Core.ITestFilter filter, bool tracing, NUnit.Core.LoggingThreshold logLevel) + 0xaf bytes
nunit.core.DLL!NUnit.Core.TestRunnerThread.TestRunnerThreadProc() + 0x47 bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x63 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 bytes
[Native to Managed Transition]
kernel32.dll!_BaseThreadStart@8() + 0x34 bytes