Bug 460589 - JDT UI becomes unresponsive after workspace refreshed
Summary: JDT UI becomes unresponsive after workspace refreshed
Status: CLOSED DUPLICATE of bug 506009
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 4.4.1   Edit
Hardware: All Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2015-02-23 06:46 EST by Mark Hagan CLA
Modified: 2017-07-27 03:20 EDT (History)
5 users (show)

See Also:


Attachments
console output with thread dumps (119.56 KB, application/octet-stream)
2015-02-23 06:46 EST, Mark Hagan CLA
no flags Details
stacktraces.zip (28.65 KB, application/download)
2016-12-22 07:43 EST, Hendrik Brummermann CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Hagan CLA 2015-02-23 06:46:58 EST
Created attachment 251020 [details]
console output with thread dumps

The tool essentially hangs and becomes unresponsive although it is possible to close using the 'X' close and Force Quit.

It doesn't happen all the time. It may be related to switching projects. The tool was stable and then I closed one project and opened another. I also refreshed the source and build for our product around the same time. The product is very large (>90K source files; mainly java) and the source path is configured as linked source directories to a Clearcase VOB.

I have captured 3 thread dumps about 30 sec to 1 minute apart just in case.
Comment 1 Dani Megert CLA 2015-02-23 07:53:56 EST
Are you on 4.4.1?
Comment 2 Mark Hagan CLA 2015-02-23 07:57:58 EST
(In reply to Dani Megert from comment #1)
> Are you on 4.4.1?

Yes. Here is some of the config info:-

*** Date: Monday, February 23, 2015 at 4:56:30 AM Pacific Standard Time

*** Platform Details:

*** System properties:
__wbp.linux.disableScreenshotWorkarounds=false
applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi
awt.toolkit=sun.awt.X11.XToolkit
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=4.4.1.M20140925-0400
eclipse.commands=-os
linux
-ws
gtk
-arch
x86_64
-showsplash
/opt/eclipse-luna-java/eclipse//plugins/org.eclipse.platform_4.4.0.v20140925-0400/splash.bmp
-launcher
/opt/eclipse-luna-java/eclipse/eclipse
-name
Eclipse
--launcher.library
/opt/eclipse-luna-java/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326/eclipse_1605.so
-startup
/opt/eclipse-luna-java/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.appendVmargs
-exitdata
240004
-product
org.eclipse.epp.package.java.product
-clean
-vm
/opt/otmdevenv/jdk1.7.0_67/bin/java
Comment 3 Dani Megert CLA 2015-02-23 08:00:47 EST
"main" prio=10 tid=0x0000000009c16000 nid=0x1e0f runnable [0x000000004163c000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.jdt.internal.core.JavaModel.getExternalTarget(JavaModel.java:343)
	at org.eclipse.jdt.internal.core.JavaModel.getTarget(JavaModel.java:306)
	at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:609)
	at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:708)
	at org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots(JavaProject.java:672)
	at org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots(JavaProject.java:1430)
	at org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots(JavaProject.java:1425)
	at org.eclipse.jdt.internal.core.JavaProject.findPackageFragmentRoot0(JavaProject.java:1228)
	at org.eclipse.jdt.internal.core.JavaProject.findPackageFragmentRoot(JavaProject.java:1220)
	at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getFolderContent(StandardJavaElementContentProvider.java:357)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getFolderContent(PackageExplorerContentProvider.java:281)
	at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:192)
Comment 4 Jay Arthanareeswaran CLA 2015-03-02 01:49:01 EST
There's also this:

"main" prio=10 tid=0x0000000009c16000 nid=0x1e0f runnable [0x000000004163c000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.jdt.internal.core.util.Util.concatWith(Util.java:338)
	at org.eclipse.jdt.internal.core.PackageFragment.getElementName(PackageFragment.java:257)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.findSinglePackageChild(PackageExplorerContentProvider.java:523)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getFolded(PackageExplorerContentProvider.java:504)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getHierarchicalPackageChildren(PackageExplorerContentProvider.java:439)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getPackageContent(PackageExplorerContentProvider.java:258)
	at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:189)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:307)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1372)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:353)


There's nothing obvious other than eclipse being bogged down by too much of IO and String operations. What doesn't help is, unlike the compiler component, model uses String and not char[] for all names.
Comment 5 Hendrik Brummermann CLA 2016-12-22 07:43:44 EST
Created attachment 266029 [details]
stacktraces.zip

I can confirm the issue on Neon.1 after editing project working sets.
Comment 6 Andrey Loskutov CLA 2017-07-27 03:20:02 EDT

*** This bug has been marked as a duplicate of bug 506009 ***