AvaloniaRider icon indicating copy to clipboard operation
AvaloniaRider copied to clipboard

Flaky test: previewControllerShouldRenderTheFrame

Open ForNeVeR opened this issue 3 years ago • 2 comments

Sometimes (only observed on Windows for now), this test fails with the following exception:

Project Project(name=AvaloniaMvvm, containerState=DISPOSE_COMPLETED, componentStore=C:\Users\runneradmin\AppData\Local\Temp\JetTestRider\152357254\previewControllerShouldRenderTheFrame\AvaloniaMvvm) (disposed) already disposed
java.lang.Throwable: Project Project(name=AvaloniaMvvm, containerState=DISPOSE_COMPLETED, componentStore=C:\Users\runneradmin\AppData\Local\Temp\JetTestRider\152357254\previewControllerShouldRenderTheFrame\AvaloniaMvvm) (disposed) already disposed
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:196)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:182)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:150)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$run$0(WriteCommandAction.java:122)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:218)
	at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:200)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeAndWait$7(ApplicationImpl.java:428)
	at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:134)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:797)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
	at com.intellij.ide.IdeEventQueue.flushQueue(IdeEventQueue.java:1002)
	at com.jetbrains.rider.test.RdDispatcherInTestKt.flushSchedulerInTest(RdDispatcherInTest.kt:14)
	at com.jetbrains.rider.test.framework.TestFrameworkKt.flushQueues(TestFramework.kt:164)
	at com.jetbrains.rider.test.framework.TestFrameworkKt.waitForBackendWillBeClosed(TestFramework.kt:480)
	at com.jetbrains.rider.test.framework.TestFrameworkKt.closeProjectsWaitForBackendWillBeClosed(TestFramework.kt:444)
	at com.jetbrains.rider.test.base.BaseTestWithSolutionBase.closeSolution(BaseTestWithSolutionBase.kt:309)
	at com.jetbrains.rider.test.base.BaseTestWithSolutionBase.closeSolutionAndResetSettings(BaseTestWithSolutionBase.kt:406)
	at com.jetbrains.rider.test.base.BaseTestWithSolution.closeSolution(BaseTestWithSolution.kt:99)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134)
	at org.testng.internal.MethodInvocationHelper$2.runConfigurationMethod(MethodInvocationHelper.java:404)
	at com.jetbrains.rider.test.TestCaseRunner$run$$inlined$runInEdtAndWait$1.invoke(TestCaseRunner.kt:962)
	at com.jetbrains.rider.test.TestCaseRunner$run$$inlined$runInEdtAndWait$1.invoke(TestCaseRunner.kt:77)
	at com.jetbrains.rider.test.TestCaseRunner$sam$i$java_lang_Runnable$0.run(TestCaseRunner.kt)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:218)
	at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:200)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:319)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

I've tried to enable Commands tracing scenario, though nothing interesting has been captured in the logs so far, because IntelliJ's CoreCommandProcessor won't log the failed command name in case of the "Project already disposed" exception.

ForNeVeR avatar Jul 03 '21 05:07 ForNeVeR

A log improvement has been merged into IntelliJ 2021.3, which will help with further investigation.

ForNeVeR avatar Jul 05 '21 10:07 ForNeVeR

I was able to reproduce a similar exception while opening another project in the same window as I had an Avalonia Previewer opened.

ForNeVeR avatar Jul 14 '21 06:07 ForNeVeR

It stopped being flaky, I think.

ForNeVeR avatar Oct 12 '22 21:10 ForNeVeR