12 Replies Latest reply on Jan 13, 2011 2:23 PM by Max Rydahl Andersen

    JBoss tools with eclipse VERY slow

    Howard King Newbie

      EDIT: I used JBoss tools 3.2.0.v20100720-0040-H162-M1  (got the version wrong below). The Jboss AS VM arguments below are the arguments I used after clicking on Open Launch Configuration from by double clicking on the server.



      I installed JBoss tools (Update-3.1.1.v201006011046R-H111-GA) to eclipse (helios), and everything is runs very slow, it takes about 30 minutes to start JBoss AS in eclipse.


      I have VMWare workstation installed, and on my host OS, the above combination runs at reasonable speed, but not on a virtual machine (VM). The vm is given 8 cpu processors (i7 2.8ghz), 4 gigs of RAM, and runs on CentOS 5.5 32bit. I tried to change the eclipse.ini file to have the following settings:









      But eclipse is still very slow with JBoss tools installed.



      and I have these parameters for the JBoss AS java VM arguments:

      Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024

      But, JBoss AS is very slow to start with all the web services loaded.


      I have a seperate eclipse galiano installation with lots of plugins, and that runs great on the vm, but not the eclipse with JBoss tools.


      My host machine has 8 core i7 2.8ghz, 12 gigs RAM.


      Any ideas about changing any settings so that I can get the combination to work faster in my VM?

        • 1. Re: JBoss tools with eclipse VERY slow
          Snjezana Peco Master

          JBoss Tools 3.1.1 isn't compatible with Helios.

          If you want to use Helios, you need to install JBos Tools 3.2.0 (http://download.jboss.org/jbosstools/updates/nightly/trunk/) and webtools 3.2.1 (http://download.eclipse.org/webtools/downloads/drops/R3.2.1/R-3.2.1-20100730021206/ or http://download.eclipse.org/webtools/repository/helios/) that fixed some performance issues.

          • 2. Re: JBoss tools with eclipse VERY slow
            Rob Stryker Master

            Changing the eclipse.ini will not affect in any way how the server starts up inside eclipse. You must instead open the server's launch configuration. You can do this by double-clicking the server, and then selecting open launch configuration.


            JBossTools does not use the eclipse.ini file in any way and instead launches the java command directly.

            • 3. Re: JBoss tools with eclipse VERY slow
              Howard King Newbie

              As edited in the original message, I got the Jboss tools version typed here wrong, I do actully use 3.2.0.v20100720-0040-H162-M1.


              I also have eclipse web tools platform 3.2.1.v201007071800 installed. I installed the "all-in-one" package of eclipse ee helios.


              Any other ideas?

              • 4. Re: JBoss tools with eclipse VERY slow
                Howard King Newbie

                thanks for the quick reply.


                In addition to editing the eclipse.ini, I did in fact edit the JBoss AS server's launch configuration, and as in the original post, I have these as the parameters for the VM, which is increated by at least 4 times from the original settings:

                -Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024


                Any other ideas?

                • 5. Re: JBoss tools with eclipse VERY slow
                  Tiago Fraga Newbie


                  I have the same problem. But in my case, I'm running Eclipse 3.5.2 SR2 with JBoss Tools 3.1.1.GA, and running in MacBook Pro Core 2Doua 2,53 Hz + 4G of RAM DDR3 + HD 7.200 rpm.

                  It's not a server!


                  And the Eclipse becomes very very slow after JBoss Tools installation.

                  • 6. Re: JBoss tools with eclipse VERY slow
                    Alexey Kazakov Master


                    Please open Progress View. What do you see there when JBT getting slow?

                    • 7. JBoss tools with eclipse VERY slow
                      Jesper S. Møller Newbie

                      I'm also having problems with foreground thread pauses when using JBoss Tools. It would appear that the entire Eclipse hangs when for instance moving the Project Explorer with the cursor keys, passing by the "JBoss 6.0 Runtime" classpath element. There is no discernible Task going on in the Progress View, since the SWT thread is stuck.


                      I tried it in a debugger, and got this:


                      Thread [main] (Suspended)   

                          WinNTFileSystem.getBooleanAttributes(File) line: not available [native method]   

                          File.exists() line: not available   

                          ClientAllRuntimeClasspathProvider.addSinglePath(IPath, ArrayList<IPath>) line: 181   

                          ClientAllRuntimeClasspathProvider.addPaths(IPath, ArrayList<IPath>) line: 167   

                          ClientAllRuntimeClasspathProvider.get50(IPath, IPath) line: 134   

                          ClientAllRuntimeClasspathProvider.get60(IPath, IPath) line: 150   

                          ClientAllRuntimeClasspathProvider.resolveClasspathContainer(IProject, IRuntime) line: 85   

                          ClientAllRuntimeClasspathProvider(RuntimeClasspathProviderDelegate).resolveClasspathContainerImpl(IProject, IRuntime) line: 133   

                          RuntimeClasspathProviderWrapper.resolveClasspathContainerImpl(IProject, IRuntime) line: 153   

                          RuntimeClasspathContainer.getClasspathEntries() line: 77   

                          JavaProject.resolveClasspath(IClasspathEntry[], IClasspathEntry[], boolean, boolean) line: 2656   

                          JavaProject.resolveClasspath(IClasspathEntry[], boolean, boolean) line: 2574   

                          JavaProject.resolveClasspath(IClasspathEntry[]) line: 2562   

                          JavaProject.findPackageFragmentRoots(IClasspathEntry) line: 1219   

                          ClassPathContainer.getPackageFragmentRoots() line: 120   

                          ClassPathContainer.getChildren() line: 125   

                          PackageExplorerContentProvider.getContainerPackageFragmentRoots(PackageFragmentRootContainer) line: 365   

                          PackageExplorerContentProvider.getChildren(Object) line: 292   

                          PackageExplorerContentProvider(StandardJavaElementContentProvider).hasChildren(Object) line: 241   

                          PackageExplorerPart$PackageExplorerProblemTreeViewer(AbstractTreeViewer).isExpandable(Object) line: 2086   

                          PackageExplorerPart$PackageExplorerProblemTreeViewer(TreeViewer).isExpandable(Object) line: 588   

                          PackageExplorerPart$PackageExplorerProblemTreeViewer(ProblemTreeViewer).isExpandable(Object) line: 246   

                          PackagesFrameSource(TreeViewerFrameSource).getSelectionFrame(int) line: 144   

                          PackagesFrameSource(TreeViewerFrameSource).getFrame(int, int) line: 99   

                          GoIntoAction.getSelectionFrame(int) line: 36   

                          GoIntoAction.update() line: 57   

                          PackageExplorerActionGroup$2.selectionChanged(SelectionChangedEvent) line: 161   

                          Viewer$2.run() line: 162   

                          SafeRunner.run(ISafeRunnable) line: 42   

                          JFaceUtil$1.run(ISafeRunnable) line: 49   

                          SafeRunnable.run(ISafeRunnable) line: 175   

                          PackageExplorerPart$PackageExplorerProblemTreeViewer(Viewer).fireSelectionChanged(SelectionChangedEvent) line: 160   

                          PackageExplorerPart$PackageExplorerProblemTreeViewer(StructuredViewer).updateSelection(ISelection) line: 2162   

                          PackageExplorerPart$PackageExplorerProblemTreeViewer(StructuredViewer).handleSelect(SelectionEvent) line: 1190   

                          StructuredViewer$4.widgetSelected(SelectionEvent) line: 1220   

                          OpenStrategy.fireSelectionEvent(SelectionEvent) line: 228   

                          OpenStrategy.access$4(OpenStrategy, SelectionEvent) line: 222   

                          OpenStrategy$1.handleEvent(Event) line: 389   

                          EventTable.sendEvent(Event) line: 84   

                          Tree(Widget).sendEvent(Event) line: 1053   

                          Display.runDeferredEvents() line: 4066   

                          Display.readAndDispatch() line: 3657   

                          Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2640   

                          Workbench.runUI() line: 2604   

                          Workbench.access$4(Workbench) line: 2438   

                          Workbench$7.run() line: 671   

                          Realm.runWithDefault(Realm, Runnable) line: 332   

                          Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 664   

                          PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149   

                          IDEApplication.start(IApplicationContext) line: 115   

                          EclipseAppHandle.run(Object) line: 196   

                          EclipseAppLauncher.runApplication(Object) line: 110   

                          EclipseAppLauncher.start(Object) line: 79   

                          EclipseStarter.run(Object) line: 369   

                          EclipseStarter.run(String[], Runnable) line: 179   

                          NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]   

                          NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available   

                          DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available   

                          Method.invoke(Object, Object...) line: not available   

                          Main.invokeFramework(String[], URL[]) line: 619   

                          Main.basicRun(String[]) line: 574   

                          Main.run(String[]) line: 1407   

                          Main.main(String[]) line: 1383   


                      Looks like some expensive classpath code was unexpectedly called from the UI thread. This is on Helios SR1 with JBoss Tools H28 Beta 2.


                      Keep up the good work - in general ;-)

                      • 8. JBoss tools with eclipse VERY slow
                        Max Rydahl Andersen Master

                        Hej Jesper,


                        Yes, your conclusion is right and we actually already got it reported and it is fixed in the nightly builds.




                        Until we get CR1 out you can use the nightly build to avoid this problem.


                        sorry for the problems!

                        • 9. JBoss tools with eclipse VERY slow
                          Jesper S. Møller Newbie

                          1000 tak - I did search for the issue but must have overlooked it.


                          3.2.0 is looking good for EE 6 work -- I'm downloading the nightly right now.

                          • 10. JBoss tools with eclipse VERY slow
                            Jesper S. Møller Newbie

                            Nightly build fixed my problem -- slight delay initially to fill the cache, from then on, no pauses.


                            Typo in "jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/messages.properties" where it said "Enabale" in ENABLE_JSF_CODE_COMPLETION_TEXT

                            (too small for a JIRA)

                            • 11. JBoss tools with eclipse VERY slow
                              Alexey Kazakov Master

                              Typo in "jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/messages.properties" where it said "Enabale" in ENABLE_JSF_CODE_COMPLETION_TEXT

                              Fixed https://issues.jboss.org/browse/JBIDE-8108


                              • 12. JBoss tools with eclipse VERY slow
                                Max Rydahl Andersen Master

                                Nothing is too small for a jira - some things are too big


                                Takker Jesper!