Open dvojtise opened 1 month ago
after some (println-based 🙄) investigations it seems that this is the line https://github.com/eclipse/gemoc-studio-commons/blob/28b5ee4a53a0f14ae47020840fe97cf45a2d3ea8/plugins/org.eclipse.gemoc.commons.eclipse.messagingsystem.ui/src/main/java/org/eclipse/gemoc/commons/eclipse/messagingsystem/ui/Activator.java#L151
that is called but never ends
after more investigation: getConsoleIO tries to create 2 console in parallel
of from the testuite
00:01:40 java.lang.Throwable
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.ui.Activator.getConsoleIO(Activator.java:142)
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.ui.EclipseMessagingSystem.getConsoleIO(EclipseMessagingSystem.java:55)
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.ui.EclipseMessagingSystem.log(EclipseMessagingSystem.java:248)
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.api.MessagingSystem.important(MessagingSystem.java:101)
00:01:40 at org.eclipse.gemoc.studio.tests.system.lwb.userstory.DeployOfficialExampleMelangeK3FSM_Test.beforeClass(DeployOfficialExampleMelangeK3FSM_Test.java:67)
00:01:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:01:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
00:01:40 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:01:40 at java.base/java.lang.reflect.Method.invoke(Method.java:569)
00:01:40 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
00:01:40 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
00:01:40 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
00:01:40 at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
00:01:40 at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
00:01:40 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
00:01:40 at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
00:01:40 at org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner.run(SWTBotJunit4ClassRunner.java:62)
00:01:40 at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:364)
00:01:40 at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
00:01:40 at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:237)
00:01:40 at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:158)
00:01:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:01:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
00:01:40 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:01:40 at java.base/java.lang.reflect.Method.invoke(Method.java:569)
00:01:40 at org.apache.maven.surefire.api.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:167)
00:01:40 at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
00:01:40 at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
00:01:40 at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:142)
00:01:40 at org.eclipse.tycho.surefire.osgibooter.AbstractUITestApplication.runTests(AbstractUITestApplication.java:49)
00:01:40 at org.eclipse.e4.ui.internal.workbench.swt.E4Testable.lambda$0(E4Testable.java:79)
00:01:40 at java.base/java.lang.Thread.run(Thread.java:840)
and one from the activator
00:01:40 java.lang.Throwable
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.ui.Activator.getConsoleIO(Activator.java:142)
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.ui.Activator.captureSystemOutAndErr(Activator.java:164)
00:01:40 at org.eclipse.gemoc.commons.eclipse.messagingsystem.ui.Activator$1$2.run(Activator.java:89)
00:01:40 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
00:01:40 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
00:01:40 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5040)
00:01:40 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4520)
00:01:40 at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
00:01:40 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
00:01:40 at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
00:01:40 at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
00:01:40 at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
00:01:40 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
00:01:40 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
00:01:40 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
00:01:40 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
00:01:40 at org.eclipse.tycho.surefire.osgibooter.UITestApplication.runApplication(UITestApplication.java:33)
00:01:40 at org.eclipse.tycho.surefire.osgibooter.AbstractUITestApplication.run(AbstractUITestApplication.java:127)
00:01:40 at org.eclipse.tycho.surefire.osgibooter.UITestApplication.start(UITestApplication.java:42)
00:01:40 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
00:01:40 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
00:01:40 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
00:01:40 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
00:01:40 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
00:01:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:01:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
00:01:40 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:01:40 at java.base/java.lang.reflect.Method.invoke(Method.java:569)
00:01:40 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
00:01:40 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
00:01:40 at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
00:01:40 at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
Bug description
when running the system test (using the docker image)
The eclipse start sometimes 🤔 freezes apparently on the
org.eclipse.gemoc.commons.eclipse.messagingsystem.ui
start job (https://github.com/eclipse/gemoc-studio-commons/blob/28b5ee4a53a0f14ae47020840fe97cf45a2d3ea8/plugins/org.eclipse.gemoc.commons.eclipse.messagingsystem.ui/src/main/java/org/eclipse/gemoc/commons/eclipse/messagingsystem/ui/Activator.java#L57)When this event occurs, the console shows that the workbench is available, but a message "Waiting workbench to redirect system.out to console" is visible in the UI
How to reproduce
Steps to reproduce the behavior:
from the folder that contains all the git repositories:
then launching the system test + vncviewer
sometimes, the GUI is frozen as shown in the screenshot
Screenshot
copy of the end of console log:
copy of the log in .metadata (obtained via access using
docker exec -it gemoc-builder /bin/bash
)