Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-20593

JBoss Tools builders are very slow with large jar libraries

    Details

      Description

      1. Have a working Eclipse Mars workspace with Maven project with JBoss Tools 4.3.0.Beta2 installed.
      2. Add the following glassfish-embedded-all : //developer 4 . jboss 1 dependency to pom . xml

      <dependency>
          <groupId>org.glassfish.main.extras</groupId>
          <artifactId>glassfish-embedded-all</artifactId>
          <version>4.1</version>
      </dependency>
      

      3. FAILURE: JBoss Knowledge Base Builder is started and takes about 5 minutes to finish.
      4. FAILURE: Restart eclipse. JBoss Knowledge Base Builder is started again and takes about 5 minutes to finish.

      This jar is a big one. About 80MB.

      Typical stacktrace:

      "Worker-2186" #3405 prio=5 os_prio=0 tid=0x000000000112f800 nid=0x4094 runnable [0x00007f60a8af0000]
      
         java.lang.Thread.State: RUNNABLE
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:220)
        at java.util.zip.ZipFile.<init>(ZipFile.java:150)
        at java.util.zip.ZipFile.<init>(ZipFile.java:164)
        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.BinaryType.getAnnotations(BinaryType.java:185)
        at org.jboss.tools.batch.internal.core.impl.definition.AbstractMemberDefinition.init(AbstractMemberDefinition.java:85)
        at org.jboss.tools.batch.internal.core.impl.definition.AbstractTypeDefinition.init(AbstractTypeDefinition.java:62)
        at org.jboss.tools.batch.internal.core.impl.definition.TypeDefinition.init(TypeDefinition.java:44)
        at org.jboss.tools.batch.internal.core.impl.definition.AbstractMemberDefinition.setAnnotatable(AbstractMemberDefinition.java:60)
        at org.jboss.tools.batch.internal.core.impl.definition.AbstractTypeDefinition.setType(AbstractTypeDefinition.java:56)
        at org.jboss.tools.batch.internal.core.impl.BatchBuilder.build(BatchBuilder.java:259)
      

      JDT opens new ZipFile for every queried type from that jar.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  scabanovich Viacheslav Kabanovich
                  Reporter:
                  scabanovich Viacheslav Kabanovich
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: