JBoss Community

Re: JBoss tools with eclipse VERY slow

created by Jesper S. Møller in JBoss Tools - View the full discussion

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 ;-)

Reply to this message by going to Community

Start a new discussion in JBoss Tools at Community