-
Bug
-
Resolution: Done
-
Major
-
None
-
None
In the latest JBoss Tools for Eclipse Mars .2 (would be great if it was easy to see the main version easily, but I guess it's 4.3.1), the CDI builder either infinitely hangs or takes an enormous amount of time (an hour at least on a core M laptop) when payara embedded is present as (test) dependency in a maven project.
During this hang I took a stack trace, which looks as follows:
"Worker-20" #96 prio=5 os_prio=31 tid=0x0000000101512000 nid=0x14803 runnable [0x0000700003fde000] java.lang.Thread.State: RUNNABLE at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:219) at java.util.zip.ZipFile.<init>(ZipFile.java:149) at java.util.zip.ZipFile.<init>(ZipFile.java:163) at org.eclipse.jdt.internal.core.JavaModelManager.getZipFile(JavaModelManager.java:2678) at org.eclipse.jdt.internal.core.JavaModelManager.getZipFile(JavaModelManager.java:2644) at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getJar(JarPackageFragmentRoot.java:156) at org.eclipse.jdt.internal.core.ClassFile.getJarBinaryTypeInfo(ClassFile.java:355) at org.eclipse.jdt.internal.core.ClassFile.getBinaryTypeInfo(ClassFile.java:290) at org.eclipse.jdt.internal.core.ClassFile.getBinaryTypeInfo(ClassFile.java:284) at org.eclipse.jdt.internal.core.ClassFile.buildStructure(ClassFile.java:93) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:259) at org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:579) at org.eclipse.jdt.internal.core.BinaryType.getElementInfo(BinaryType.java:287) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:302) at org.eclipse.jdt.internal.core.JavaElement.exists(JavaElement.java:220) at org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector.process(ImplementationCollector.java:41) at org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector.<init>(ImplementationCollector.java:32) at org.jboss.tools.cdi.internal.core.impl.CDIProject.rebuildBeans(CDIProject.java:1309) at org.jboss.tools.cdi.internal.core.impl.CDIProject.update(CDIProject.java:1216) - locked <0x000000078ecd93d8> (a org.jboss.tools.cdi.internal.core.impl.CDICache) at org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext.applyWorkingCopy(DefinitionContext.java:442) at org.jboss.tools.cdi.core.CDICoreBuilder.build(CDICoreBuilder.java:267) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
I debugged Eclipse with a second Eclipse, and it appeared that the code is repeatedly opening .m2/repository/fish/payara/extras/payara-embedded-all/4.1.1.162/payara-embedded-all-4.1.1.162.jar from CDIProject#rebuildBeans.
The specific line of code is:
ImplementationCollector ic = new ImplementationCollector(typeDefinitions);
The number of type definitions it seems to go through in ImplementationCollector#process is 33009 and the loop looks to be making progress, so it's more likely just incredibly slow and not an infinite hang.
The dependency in pom.xml looks as follows:
<dependency> <groupId>fish.payara.extras</groupId> <artifactId>payara-embedded-all</artifactId> <version>4.1.1.162</version> <scope>test</scope> </dependency>
- is related to
-
JBIDE-20593 JBoss Tools builders are very slow with large jar libraries
- Closed