Bug 131562 - TypeHierarchyViewPart CopyToClipboardAction is accessing zip files for enablement
Summary: TypeHierarchyViewPart CopyToClipboardAction is accessing zip files for enable...
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2 M6   Edit
Assignee: Markus Keller CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2006-03-13 12:33 EST by Tod Creasey CLA
Modified: 2006-03-24 13:51 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tod Creasey CLA 2006-03-13 12:33:12 EST
M5

From a trace from Steve Northover. 

It looks like this is occuring when Steve toggles a breakpoint in code that is in a binary or external project while it is selected in the type hierarchy view (Steve could you give us an idea of what your were doing please)?

In Steves case he is seeing a hang in Eclipse so this might be a simple contention but you likely don't want to crawl zip files in a selection changed listener anyways


"main" prio=7 tid=0x00034bf0 nid=0xb1c runnable [0x0007e000..0x0007fc3c]
        at java.util.zip.ZipFile.freeEntry(Native Method)
        at java.util.zip.ZipFile.access$1100(ZipFile.java:35)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:439)
        - locked <0x057655f0> (a java.util.zip.ZipFile)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:416)
        at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.computeChildren
JarPackageFragmentRoot.java:86)
        at org.eclipse.jdt.internal.core.PackageFragmentRoot.buildStructure(Pac
ageFragmentRoot.java:170)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:2
9)
        at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement
java:503)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement
java:247)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement
java:233)
        at org.eclipse.jdt.internal.core.PackageFragmentRoot.getSourceMapper(Pa
kageFragmentRoot.java:708)
        at org.eclipse.jdt.internal.core.JavaElement.getSourceMapper(JavaElemen
.java:403)
        at org.eclipse.jdt.internal.core.JavaElement.getSourceMapper(JavaElemen
.java:403)
        at org.eclipse.jdt.internal.core.JavaElement.getSourceMapper(JavaElemen
.java:403)
        at org.eclipse.jdt.internal.core.BinaryMember.getSourceRange(BinaryMemb
r.java:94)
        at org.eclipse.jdt.internal.corext.refactoring.reorg.ReorgUtils.hasSour
eAvailable(ReorgUtils.java:302)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$
opyToClipboardEnablementPolicy.canCopyToClipboard(CopyToClipboardAction.java:35
)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$
opyToClipboardEnablementPolicy.canCopyAllToClipboard(CopyToClipboardAction.java
338)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$
opyToClipboardEnablementPolicy.canEnable(CopyToClipboardAction.java:326)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction.
anEnable(CopyToClipboardAction.java:141)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction.
electionChanged(CopyToClipboardAction.java:106)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelection
hanged(SelectionDispatchAction.java:255)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(
electionDispatchAction.java:250)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator.
ireSelectionChanged(SelectionProviderMediator.java:131)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator.
oSelectionChanged(SelectionProviderMediator.java:112)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator$
nternalListener.selectionChanged(SelectionProviderMediator.java:40)
        at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.runtime.Platform.run(Platform.java:816)
        at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
        at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
        at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:16
)
        at org.eclipse.jface.viewers.StructuredViewer.updateSelection(Structure
Viewer.java:1882)
        at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredVi
wer.java:1512)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.inte
nalSelectType(TypeHierarchyViewPart.java:1067)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.upda
eInput(TypeHierarchyViewPart.java:542)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.setI
putElement(TypeHierarchyViewPart.java:484)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.doRe
toreState(TypeHierarchyViewPart.java:1528)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart$16.r
n(TypeHierarchyViewPart.java:1511)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.j
va:123)
        - locked <0x056f20f8> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3264)
        at org.eclipse.swt.widgets.Display.msgFilterProc(Display.java:2697)
        at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
        at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:225)
        at org.eclipse.swt.widgets.Display.runPopups(Display.java:3313)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2901)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1899)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.ja
a:417)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:1
6)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAc
ivator.java:99)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppl
cation(EclipseAppLauncher.java:92)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(E
lipseAppLauncher.java:68)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.j
va:374)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.j
va:169)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
        at org.eclipse.core.launcher.Main.run(Main.java:977)
        at org.eclipse.core.launcher.Main.main(Main.java:952)

"Worker-0" prio=5 tid=0x16e00e18 nid=0x418 runnable [0x177bf000..0x177bfc68]
        at java.util.zip.ZipFile.getNextEntry(Native Method)
        at java.util.zip.ZipFile.access$700(ZipFile.java:35)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:422)
        - locked <0x05486280> (a java.util.zip.ZipFile)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:416)
        at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.computeChildren
JarPackageFragmentRoot.java:86)
        at org.eclipse.jdt.internal.core.JavaProjectElementInfo.getProjectCache
JavaProjectElementInfo.java:215)
        at org.eclipse.jdt.internal.core.JavaProjectElementInfo.newNameLookup(J
vaProjectElementInfo.java:286)
        at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.
ava:2543)
        at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(Searchabl
Environment.java:53)
        at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(Searchabl
Environment.java:67)
        at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(Cance
ableNameEnvironment.java:26)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(C
mpilationUnitProblemFinder.java:156)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(C
mpilationUnitProblemFinder.java:247)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeCons
stent(ReconcileWorkingCopyOperation.java:152)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeO
eration(ReconcileWorkingCopyOperation.java:71)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperat
on.java:720)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaMo
elOperation.java:779)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationU
it.java:1102)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationU
it.java:1077)
        at org.eclipse.jdt.internal.debug.ui.actions.ActionDelegateHelper.getCu
rentMember(ActionDelegateHelper.java:137)
        - locked <0x048b5130> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at org.eclipse.jdt.internal.debug.ui.actions.ToggleBreakpointAdapter.ge
Type(ToggleBreakpointAdapter.java:112)
        at org.eclipse.jdt.internal.debug.ui.actions.ToggleBreakpointAdapter$2.
un(ToggleBreakpointAdapter.java:152)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Comment 1 Tod Creasey CLA 2006-03-13 12:33:43 EST
Here is the full trace just in case I missed something

"Worker-0" prio=5 tid=0x16e00e18 nid=0x418 runnable [0x177bf000..0x177bfc68]
        at java.util.zip.ZipFile.getNextEntry(Native Method)
        at java.util.zip.ZipFile.access$700(ZipFile.java:35)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:422)
        - locked <0x05486280> (a java.util.zip.ZipFile)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:416)
        at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.computeChildren
JarPackageFragmentRoot.java:86)
        at org.eclipse.jdt.internal.core.JavaProjectElementInfo.getProjectCache
JavaProjectElementInfo.java:215)
        at org.eclipse.jdt.internal.core.JavaProjectElementInfo.newNameLookup(J
vaProjectElementInfo.java:286)
        at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.
ava:2543)
        at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(Searchabl
Environment.java:53)
        at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(Searchabl
Environment.java:67)
        at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(Cance
ableNameEnvironment.java:26)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(C
mpilationUnitProblemFinder.java:156)
        at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(C
mpilationUnitProblemFinder.java:247)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeCons
stent(ReconcileWorkingCopyOperation.java:152)
        at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeO
eration(ReconcileWorkingCopyOperation.java:71)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperat
on.java:720)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaMo
elOperation.java:779)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationU
it.java:1102)
        at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationU
it.java:1077)
        at org.eclipse.jdt.internal.debug.ui.actions.ActionDelegateHelper.getCu
rentMember(ActionDelegateHelper.java:137)
        - locked <0x048b5130> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at org.eclipse.jdt.internal.debug.ui.actions.ToggleBreakpointAdapter.ge
Type(ToggleBreakpointAdapter.java:112)
        at org.eclipse.jdt.internal.debug.ui.actions.ToggleBreakpointAdapter$2.
un(ToggleBreakpointAdapter.java:152)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00ad8a48 nid=0xbb8 in Object
wait() [0x173ff000..0x173ffce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f21ca0> (a org.eclipse.osgi.framework.eventmgr.EventM
nager$EventThread)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNext
vent(EventManager.java:349)
        - locked <0x03f21ca0> (a org.eclipse.osgi.framework.eventmgr.EventManag
r$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Eve
tManager.java:287)

"Framework Event Dispatcher" daemon prio=5 tid=0x16d77e68 nid=0xbb4 in Object.w
it() [0x173bf000..0x173bfd68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f21d08> (a org.eclipse.osgi.framework.eventmgr.EventM
nager$EventThread)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNext
vent(EventManager.java:349)
        - locked <0x03f21d08> (a org.eclipse.osgi.framework.eventmgr.EventManag
r$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Eve
tManager.java:287)

"State Data Manager" daemon prio=5 tid=0x16faad50 nid=0xbb0 waiting on conditio
 [0x1737f000..0x1737f9e8]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.
ava:297)
        at java.lang.Thread.run(Thread.java:595)

"Low Memory Detector" daemon prio=5 tid=0x00ae1e08 nid=0xb4c runnable [0x000000
0..0x00000000]

"CompilerThread0" daemon prio=10 tid=0x00ae0c18 nid=0xb48 waiting on condition
0x00000000..0x16cbf8c0]

"Signal Dispatcher" daemon prio=10 tid=0x00adb1a8 nid=0xb44 waiting on conditio
 [0x00000000..0x00000000]

"Finalizer" daemon prio=9 tid=0x00abed20 nid=0xb38 in Object.wait() [0x16c3f000
.0x16c3fc68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03eb01f0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x03eb01f0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00ac7078 nid=0xb34 in Object.wait() [0
16bff000..0x16bffce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03eb0270> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x03eb0270> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00034bf0 nid=0xb1c runnable [0x0007e000..0x0007fc3c]
        at java.util.zip.ZipFile.freeEntry(Native Method)
        at java.util.zip.ZipFile.access$1100(ZipFile.java:35)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:439)
        - locked <0x057655f0> (a java.util.zip.ZipFile)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:416)
        at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.computeChildren
JarPackageFragmentRoot.java:86)
        at org.eclipse.jdt.internal.core.PackageFragmentRoot.buildStructure(Pac
ageFragmentRoot.java:170)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:2
9)
        at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement
java:503)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement
java:247)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement
java:233)
        at org.eclipse.jdt.internal.core.PackageFragmentRoot.getSourceMapper(Pa
kageFragmentRoot.java:708)
        at org.eclipse.jdt.internal.core.JavaElement.getSourceMapper(JavaElemen
.java:403)
        at org.eclipse.jdt.internal.core.JavaElement.getSourceMapper(JavaElemen
.java:403)
        at org.eclipse.jdt.internal.core.JavaElement.getSourceMapper(JavaElemen
.java:403)
        at org.eclipse.jdt.internal.core.BinaryMember.getSourceRange(BinaryMemb
r.java:94)
        at org.eclipse.jdt.internal.corext.refactoring.reorg.ReorgUtils.hasSour
eAvailable(ReorgUtils.java:302)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$
opyToClipboardEnablementPolicy.canCopyToClipboard(CopyToClipboardAction.java:35
)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$
opyToClipboardEnablementPolicy.canCopyAllToClipboard(CopyToClipboardAction.java
338)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$
opyToClipboardEnablementPolicy.canEnable(CopyToClipboardAction.java:326)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction.
anEnable(CopyToClipboardAction.java:141)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction.
electionChanged(CopyToClipboardAction.java:106)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelection
hanged(SelectionDispatchAction.java:255)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(
electionDispatchAction.java:250)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator.
ireSelectionChanged(SelectionProviderMediator.java:131)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator.
oSelectionChanged(SelectionProviderMediator.java:112)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator$
nternalListener.selectionChanged(SelectionProviderMediator.java:40)
        at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.runtime.Platform.run(Platform.java:816)
        at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
        at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
        at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:16
)
        at org.eclipse.jface.viewers.StructuredViewer.updateSelection(Structure
Viewer.java:1882)
        at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredVi
wer.java:1512)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.inte
nalSelectType(TypeHierarchyViewPart.java:1067)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.upda
eInput(TypeHierarchyViewPart.java:542)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.setI
putElement(TypeHierarchyViewPart.java:484)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.doRe
toreState(TypeHierarchyViewPart.java:1528)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart$16.r
n(TypeHierarchyViewPart.java:1511)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.j
va:123)
        - locked <0x056f20f8> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3264)
        at org.eclipse.swt.widgets.Display.msgFilterProc(Display.java:2697)
        at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
        at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:225)
        at org.eclipse.swt.widgets.Display.runPopups(Display.java:3313)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2901)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1899)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.ja
a:417)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:1
6)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAc
ivator.java:99)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppl
cation(EclipseAppLauncher.java:92)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(E
lipseAppLauncher.java:68)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.j
va:374)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.j
va:169)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
        at org.eclipse.core.launcher.Main.run(Main.java:977)
        at org.eclipse.core.launcher.Main.main(Main.java:952)

"VM Thread" prio=10 tid=0x00ac7d18 nid=0xb30 runnable

"VM Periodic Task Thread" prio=10 tid=0x00ae2fe0 nid=0xb50 waiting on condition
Comment 2 Steve Northover CLA 2006-03-13 13:12:41 EST
I hang about 2-5 times a day for around 30-60 seconds each time.  The menu bar goes white and the app becomes unresponsive (this is what Windows does when an appication stops dispatching events).  I run with the console.  When I hit Ctrl+Break, I am always in java.util.zip.ZipFile.  Most of the time, the UI is accessing it, but other times, there are two worker threads there.

I will paste the stacks I am seeing in this bug report.
Comment 3 Steve Northover CLA 2006-03-13 13:22:41 EST
Here is all of the stack I got (I'll make my console buffer bigger).  I got this when Eclipse was starting up and it was trying to restore my hierarchical class view:


embers(CVSResourceVariantTree.java:98)
        at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.internal
Members(ResourceVariantTreeSubscriber.java:176)
        at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.members(
ResourceVariantTreeSubscriber.java:95)
        at org.eclipse.team.internal.ccvs.core.CVSWorkspaceSubscriber.visit(CVSW
orkspaceSubscriber.java:214)
        at org.eclipse.team.internal.ccvs.core.CVSWorkspaceSubscriber.visit(CVSW
orkspaceSubscriber.java:217)
        at org.eclipse.team.internal.ccvs.core.CVSWorkspaceSubscriber.collectOut
OfSync(CVSWorkspaceSubscriber.java:181)
        at org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoEventHan
dler.collectAll(SubscriberSyncInfoEventHandler.java:162)
        at org.eclipse.team.internal.core.subscribers.SubscriberEventHandler.pro
cessEvent(SubscriberEventHandler.java:337)
        at org.eclipse.team.internal.core.BackgroundEventHandler.processEvents(B
ackgroundEventHandler.java:329)
        at org.eclipse.team.internal.core.BackgroundEventHandler$1.run(Backgroun
dEventHandler.java:173)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

"Worker-6" prio=5 tid=0x17bc84a8 nid=0xab4 in Object.wait() [0x1852f000..0x1852f
b68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:20
5)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-5" prio=5 tid=0x17b7b5f0 nid=0xc8c in Object.wait() [0x184ef000..0x184ef
be8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:20
5)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-4" prio=5 tid=0x17b7bdb8 nid=0xad0 in Object.wait() [0x184af000..0x184af
c68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:20
5)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-3" prio=5 tid=0x17b78110 nid=0x970 in Object.wait() [0x1846f000..0x1846f
ce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:20
5)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-2" prio=5 tid=0x17c01a88 nid=0xe58 in Object.wait() [0x1842f000..0x1842f
d68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:20
5)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-1" prio=5 tid=0x16e981b8 nid=0x7dc in Object.wait() [0x177ff000..0x177ff
9e8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x03f276d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:20
5)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x171f9d08 n
id=0xf94 in Object.wait() [0x1836f000..0x1836fa68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x04df1770> (a org.eclipse.jface.text.reconciler.DirtyRegi
onQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:176)
        - locked <0x04df1770> (a org.eclipse.jface.text.reconciler.DirtyRegionQu
eue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1732bce0 n
id=0x900 in Object.wait() [0x181af000..0x181afae8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x049443f8> (a org.eclipse.jface.text.reconciler.DirtyRegi
onQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:176)
        - locked <0x049443f8> (a org.eclipse.jface.text.reconciler.DirtyRegionQu
eue)

"Java indexing" daemon prio=4 tid=0x16ea21e0 nid=0x8a8 in Object.wait() [0x1795f
000..0x1795fb68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x047d3360> (a org.eclipse.jdt.internal.core.search.indexi
ng.IndexManager)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobMan
ager.java:349)
        - locked <0x047d3360> (a org.eclipse.jdt.internal.core.search.indexing.I
ndexManager)
        at java.lang.Thread.run(Thread.java:595)

"Worker-0" prio=5 tid=0x170f5bb0 nid=0x12c in Object.wait() [0x177bf000..0x177bf
c68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x06ccc3c0> (a org.eclipse.ui.internal.Semaphore)
        at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:41)
        - locked <0x06ccc3c0> (a org.eclipse.ui.internal.Semaphore)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:4
5)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:3702)
        at org.eclipse.team.internal.ui.synchronize.SynchronizeModelUpdateHandle
r.runViewUpdate(SynchronizeModelUpdateHandler.java:549)
        at org.eclipse.team.internal.ui.synchronize.SynchronizeModelUpdateHandle
r.handleChanges(SynchronizeModelUpdateHandler.java:512)
        at org.eclipse.team.internal.ui.synchronize.SynchronizeModelUpdateHandle
r.processEvent(SynchronizeModelUpdateHandler.java:251)
        at org.eclipse.team.internal.core.BackgroundEventHandler.processEvents(B
ackgroundEventHandler.java:329)
        at org.eclipse.team.internal.core.BackgroundEventHandler$1.run(Backgroun
dEventHandler.java:173)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00ad8a48 nid=0xfb8 in Object.
wait() [0x173ff000..0x173ffce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f22798> (a org.eclipse.osgi.framework.eventmgr.EventMa
nager$EventThread)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextE
vent(EventManager.java:349)
        - locked <0x03f22798> (a org.eclipse.osgi.framework.eventmgr.EventManage
r$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Even
tManager.java:287)

"Framework Event Dispatcher" daemon prio=5 tid=0x16d77e68 nid=0xfb4 in Object.wa
it() [0x173bf000..0x173bfd68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03f22800> (a org.eclipse.osgi.framework.eventmgr.EventMa
nager$EventThread)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextE
vent(EventManager.java:349)
        - locked <0x03f22800> (a org.eclipse.osgi.framework.eventmgr.EventManage
r$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Even
tManager.java:287)

"State Data Manager" daemon prio=5 tid=0x16faad50 nid=0x13c waiting on condition
 [0x1737f000..0x1737f9e8]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.j
ava:297)
        at java.lang.Thread.run(Thread.java:595)

"Low Memory Detector" daemon prio=5 tid=0x00ae1e08 nid=0xf50 runnable [0x0000000
0..0x00000000]

"CompilerThread0" daemon prio=10 tid=0x00ae0c18 nid=0x630 waiting on condition [
0x00000000..0x16cbf8c0]

"Signal Dispatcher" daemon prio=10 tid=0x00adb1a8 nid=0x978 waiting on condition
 [0x00000000..0x00000000]

"Finalizer" daemon prio=9 tid=0x00abed20 nid=0xd94 in Object.wait() [0x16c3f000.
.0x16c3fc68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03eb01f0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x03eb01f0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00ac7078 nid=0xdf4 in Object.wait() [0x
16bff000..0x16bffce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x03eb0270> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x03eb0270> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00034bf0 nid=0xf30 runnable [0x0007e000..0x0007fc3c]
        at java.util.zip.ZipFile.getNextEntry(Native Method)
        at java.util.zip.ZipFile.access$700(ZipFile.java:35)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:422)
        - locked <0x06c6ceb8> (a java.util.zip.ZipFile)
        at java.util.zip.ZipFile$3.nextElement(ZipFile.java:416)
        at org.eclipse.jdt.internal.core.SourceMapper.computeAllRootPaths(Source
Mapper.java:343)
        - locked <0x06c6cee0> (a org.eclipse.jdt.internal.core.SourceMapper)
        at org.eclipse.jdt.internal.core.SourceMapper.findSource(SourceMapper.ja
va:858)
        at org.eclipse.jdt.internal.core.SourceMapper.findSource(SourceMapper.ja
va:833)
        at org.eclipse.jdt.internal.core.ClassFile.mapSource(ClassFile.java:587)

        at org.eclipse.jdt.internal.core.ClassFile.openBuffer(ClassFile.java:582
)
        at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:259)
        at org.eclipse.jdt.internal.core.ClassFile.getBuffer(ClassFile.java:305)

        at org.eclipse.jdt.internal.core.BinaryMember.getSourceRange(BinaryMembe
r.java:97)
        at org.eclipse.jdt.internal.corext.refactoring.reorg.ReorgUtils.hasSourc
eAvailable(ReorgUtils.java:302)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$C
opyToClipboardEnablementPolicy.canCopyToClipboard(CopyToClipboardAction.java:353
)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$C
opyToClipboardEnablementPolicy.canCopyAllToClipboard(CopyToClipboardAction.java:
338)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction$C
opyToClipboardEnablementPolicy.canEnable(CopyToClipboardAction.java:326)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction.c
anEnable(CopyToClipboardAction.java:141)
        at org.eclipse.jdt.internal.ui.refactoring.reorg.CopyToClipboardAction.s
electionChanged(CopyToClipboardAction.java:106)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionC
hanged(SelectionDispatchAction.java:255)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(S
electionDispatchAction.java:250)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator.f
ireSelectionChanged(SelectionProviderMediator.java:131)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator.d
oSelectionChanged(SelectionProviderMediator.java:112)
        at org.eclipse.jdt.internal.ui.typehierarchy.SelectionProviderMediator$I
nternalListener.selectionChanged(SelectionProviderMediator.java:40)
        at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
        at org.eclipse.core.runtime.Platform.run(Platform.java:816)
        at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
        at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
        at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160
)
        at org.eclipse.jface.viewers.StructuredViewer.updateSelection(Structured
Viewer.java:1882)
        at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredVie
wer.java:1512)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.inter
nalSelectType(TypeHierarchyViewPart.java:1067)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.updat
eInput(TypeHierarchyViewPart.java:542)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.setIn
putElement(TypeHierarchyViewPart.java:484)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.doRes
toreState(TypeHierarchyViewPart.java:1528)
        at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart$16.ru
n(TypeHierarchyViewPart.java:1511)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.ja
va:123)
        - locked <0x06c12298> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3264)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2910)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1899)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav
a:417)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:10
6)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAct
ivator.java:99)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli
cation(EclipseAppLauncher.java:92)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec
lipseAppLauncher.java:68)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
va:374)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
va:169)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
        at org.eclipse.core.launcher.Main.run(Main.java:977)
        at org.eclipse.core.launcher.Main.main(Main.java:952)

"VM Thread" prio=10 tid=0x00ac7d18 nid=0x330 runnable

"VM Periodic Task Thread" prio=10 tid=0x00ae2fe0 nid=0xdac waiting on condition
Comment 4 Steve Northover CLA 2006-03-13 13:35:36 EST
Next time I'm going to edit out the sleeping workers so the there is less stack to read.
Comment 5 Martin Aeschlimann CLA 2006-03-21 01:45:00 EST
Markus, can you have a look?

I think enablement for copy should not be necessary at all: copy should always be enabled if we have a element selected as we always copy the file name.
Comment 6 Markus Keller CLA 2006-03-24 07:45:29 EST
I removed the unnecessary binary (bug 129922) and source availability checks for IJavaElements on Copy. I refrained from enabling Copy all the time, since there are situations where we wouldn't know what to do on Paste then (e.g. when copying a parent and its child, or a project and a file).

Fixed in HEAD.
Comment 7 Martin Aeschlimann CLA 2006-03-24 13:03:23 EST
It should always be possible to do a textual paste, e.g. past the file names into a text editor.
Comment 8 Markus Keller CLA 2006-03-24 13:51:36 EST
Filed enhancement bug 133192 for comment 7.