buildship
buildship copied to clipboard
Buildship seems to be hanging when importing a new gradle project into Eclipse
We have a multi project gradle build. Hence initially multiple projects need to be imported into Eclipse. When importing a new project the "Import preview" modal dialog stays open forever and hence blocks Eclipse
Expected Behavior
I'd expect that this window closes after a few seconds or a minute
Current Behavior
The preview dialog stays open for several minutes
Your Environment
Win10 gradle 6.8.3 Eclipse 2021-12 and latest greatest buildship from MarketPlace
Stacktraces of Eclipse and gradle-Process
Inspecting the stacktraces of eclipse and the gradle Process ( which, I guess, does the job ) reveal no "real action"
Eclipse:
"main" #1 prio=6 os_prio=0 cpu=7490656.25ms elapsed=43516.26s tid=0x00000274d8356000 nid=0x296c runnable [0x00000088927fa000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1542)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4854)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5997)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5002)
at org.eclipse.swt.internal.win32.OS.SendMessage(Native Method)
at org.eclipse.swt.widgets.Tree.createItem(Tree.java:2092)
at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:181)
at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:85)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:420)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:425)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.showResultTree(ProjectPreviewWizardPage.java:399)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.access$300(ProjectPreviewWizardPage.java:78)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage$5.run(ProjectPreviewWizardPage.java:336)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
gradle
"main" #1 prio=5 os_prio=0 cpu=890.63ms elapsed=1665.82s tid=0x00000173c533e000 nid=0x4534 waiting on condition [0x00000068064fe000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for <0x00000006808a6790> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator.awaitStop(DaemonStateCoordinator.java:95)
at org.gradle.launcher.daemon.server.Daemon.awaitExpiration(Daemon.java:247)
at org.gradle.launcher.daemon.server.Daemon.stopOnExpiration(Daemon.java:221)
at org.gradle.launcher.daemon.bootstrap.DaemonMain.doAction(DaemonMain.java:132)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:50)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke([email protected]/Method.java:566)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
at org.gradle.launcher.daemon.bootstrap.GradleDaemon.main(GradleDaemon.java:22)
Locked ownable synchronizers:
- None
"Incoming local TCP Connector on port 51905" #25 prio=5 os_prio=0 cpu=0.00ms elapsed=1664.73s tid=0x00000173f5ba1800 nid=0x5608 runnable [0x0000006807cfe000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.ServerSocketChannelImpl.accept0([email protected]/Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept([email protected]/ServerSocketChannelImpl.java:533)
at sun.nio.ch.ServerSocketChannelImpl.accept([email protected]/ServerSocketChannelImpl.java:285)
at org.gradle.internal.remote.internal.inet.TcpIncomingConnector$Receiver.run(TcpIncomingConnector.java:108)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run([email protected]/Thread.java:829)
Find attached the complete Eclipse and gradle stacktraces
Eclipse-stacktrace.txt gradle-stacktrace.txt
And some screenshots
VisualVM showing the gradle process when it's "busy"
VisualVM showing the gradle process when it's "idle"
Eclipse "frozen", although the gradle process is "idle"
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1542)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4854)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5997)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5002)
at org.eclipse.swt.internal.win32.OS.SendMessage(Native Method)
at org.eclipse.swt.widgets.Tree.createItem(Tree.java:2092)
at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:181)
at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:85)
at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage.populateRecursively(ProjectPreviewWizardPage.java:420)
what exactly is buildship/swt doing here?
Workaround: omit "Next"-step(s) and just press the "Finish"-Button