So, I have been doing some work in M4M today - which equates to frequent lock ups (as described for nearly a year). Feeling a bit frustrated that this issue still has not been addressed by MyEclipse, I opened up VisualVM and began taking periodic thread dumps. Below is my observation - hopefully this will help to finally fix this bug.
While MyEclipse is running everything looks normal, but after a lockup I consistently see this line in the "main" thread stack trace:
| Quote: |
at com.genuitec.eclipse.dehory.DehoryFormEditorContentOutlinePage$1.setFocus(DehoryFormEditorContentOutlinePage.java:109)
|
This seems consistent with my observation that lockups occur most frequently when working with the outline view.
I have included two complete dumps of the "main" thread below. These dumps are taken from different instances of a lockup. You will notice that they are identical except for memory addresses. This strongly suggests the class noted above as the culprit.
Thank you for looking at this...
--Ron
P.S. Please review all the normal troubleshooting steps I have already done before suggesting them again (they didn't work). Thanks.
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WComponentPeer.removeNativeDropTarget(Native Method)
at sun.awt.windows.WComponentPeer.removeDropTarget(Unknown Source)
- locked <0x174500c0> (a sun.awt.windows.WPanelPeer)
at java.awt.dnd.DropTarget.removeNotify(Unknown Source)
at java.awt.Component.removeNotify(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at org.openide.explorer.view.TreeView$ExplorerTree.removeNotify(TreeView.java:1558)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at org.openide.explorer.view.TreeView.removeNotify(TreeView.java:621)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at java.awt.Container.remove(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.remove(Unknown Source)
- locked <0x1a88cd90> (a java.awt.Component$AWTTreeLock)
at com.genuitec.eclipse.dehory.DehoryFormEditorContentOutlinePage$1.setFocus(DehoryFormEditorContentOutlinePage.java:109)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:926)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:926)
at org.eclipse.ui.part.PageBookView.setFocus(PageBookView.java:879)
at org.eclipse.ui.internal.PartPane.setFocus(PartPane.java:332)
at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:626)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:621)
at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3527)
at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:3071)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:279)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:237)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1404)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2269)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3989)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1578)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2010)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2975)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3468)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WComponentPeer.removeNativeDropTarget(Native Method)
at sun.awt.windows.WComponentPeer.removeDropTarget(Unknown Source)
- locked <0x1108edb8> (a sun.awt.windows.WPanelPeer)
at java.awt.dnd.DropTarget.removeNotify(Unknown Source)
at java.awt.Component.removeNotify(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at org.openide.explorer.view.TreeView$ExplorerTree.removeNotify(TreeView.java:1558)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at org.openide.explorer.view.TreeView.removeNotify(TreeView.java:621)
at java.awt.Container.removeNotify(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.removeNotify(Unknown Source)
at java.awt.Container.remove(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at java.awt.Container.remove(Unknown Source)
- locked <0x1bcbf2a8> (a java.awt.Component$AWTTreeLock)
at com.genuitec.eclipse.dehory.DehoryFormEditorContentOutlinePage$1.setFocus(DehoryFormEditorContentOutlinePage.java:109)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:926)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:926)
at org.eclipse.ui.part.PageBookView.setFocus(PageBookView.java:879)
at org.eclipse.ui.internal.PartPane.setFocus(PartPane.java:332)
at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:626)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:621)
at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3527)
at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:3071)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:279)
at org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:237)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1404)
at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2269)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3989)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1578)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2010)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2405)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4036)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4602)
at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2975)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3468)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)