| Summary: | [10.70][Lion] Eclipse unresponsive and high CPU load after expanding node in a table tree | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Johannes Rieken <johannes_rieken> | ||||
| Component: | SWT | Assignee: | Platform-SWT-Inbox <platform-swt-inbox> | ||||
| Status: | CLOSED WONTFIX | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | aaron.hart, bhunt, brian, bsd, daniel_megert, eclipse.dserodio, eclipse.felipe, haiodo, jens.baumgart, lshanmug, marcel.bruch, mlippert, peter.kullmann, richard.groote, Silenio_Quarti, tom.schindl | ||||
| Version: | 3.7 | Keywords: | needinfo | ||||
| Target Milestone: | --- | ||||||
| Hardware: | Macintosh | ||||||
| OS: | Mac OS X | ||||||
| Whiteboard: | stalebug | ||||||
| Attachments: |
|
||||||
The same kind of problem that I can see on my machine... Any idea what the problem could be? I am running OSX Lion (10.7.1). *** Bug 356045 has been marked as a duplicate of this bug. *** *** Bug 347223 has been marked as a duplicate of this bug. *** *** Bug 375491 has been marked as a duplicate of this bug. *** *** Bug 380039 has been marked as a duplicate of this bug. *** Silenio, this could be worth investigating in RC2. This problem occurs quite often. I've updated to 4.2RC3, and this problem is happening much more often. Can we please get this committed to be fixed in 4.2? Lakshmi, please investigate this one. (In reply to comment #8) > I've updated to 4.2RC3, and this problem is happening much more often. Can we > please get this committed to be fixed in 4.2? Is there a way I can reproduce the problem? I've been using eclipse+Egit but don't see the problem. Do you have other plugins installed in your eclipse? I haven't been able to reproduce this problem in several weeks. I'd be ok with WORKSFORME. *** Bug 382728 has been marked as a duplicate of this bug. *** I've see same issue, few times a day, after start using 4.2. Exception looks almost same. Also I've attach OSX generated report then close Eclipse. I hope this will help. "main" prio=5 tid=0x0000000100818800 nid=0x7fff7705d180 runnable [0x00007fff5fbfc000] java.lang.Thread.State: RUNNABLE at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:221) at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1093) at org.eclipse.swt.widgets.Tree.mouseDownSuper(Tree.java:2052) at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1085) at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2538) at org.eclipse.swt.widgets.Tree.mouseDown(Tree.java:2007) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5493) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:221) at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2102) at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2284) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5557) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5002) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5151) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method) at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3616) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) Created attachment 221329 [details]
eclipse_4.2_hang.log
Hello, In out project we had a similar problem. When selection some item in the tree than our application did not respond anymore. The threaddump contains the same information as mentioned in the fist comment. After some investigation i found the problem within our code. Unfortunately i cannot reproduce the problem in a small project. Below is some explanation about our code maybe this gives some clues for fixing this issue. -------------------------------------- Version of eclipse RCP is 4.2.5 1. Added a SelectionAdapter as listener to a treeviewer (viewer.getTree().addSelectionListener()). This treeviewer is used within a custom outline 2. Within the SelectionAdapter a editor is called to handle the selection. 3. Within the editor based on the selection some swt widget are created within the editor. Deep down in this code a NullpointerException occurs. This NullPointerException is not catched anyware. I tried to reproduce it in a small project but that did not result in the problem. But when a exception occurs within the SelectionAdapter#widgetSelected than this problem can occur. -------------------------------------- Kind regards, Richard Hello, Some additional information. Below is the stacktrace when a additional try catch is added in the selection listener. In the EditorImpl a move to the selected item is triggered. Kind regards, Richard at com.acme.project.ui.editor.EditorImpl.scrollToNode(EditorImpl.java:333) at com.acme.project.ui.editor.EditorImpl.scrollToNode(EditorImpl.java:307) at com.acme.project.ui.editor.outline.Outline$OutlineSelectionListener.widgetSelected(Outline.java:132) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072) at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:5045) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5432) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:227) at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1121) at org.eclipse.swt.widgets.Tree.mouseDownSuper(Tree.java:2066) at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1113) at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2571) at org.eclipse.swt.widgets.Tree.mouseDown(Tree.java:2034) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5692) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:227) at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2130) at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2337) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5756) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5193) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5342) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method) at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3695) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at com.acme.project.Application.start(Application.java:64) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at org.eclipse.equinox.launcher.Main.run(Main.java:1515) at org.eclipse.equinox.launcher.Main.main(Main.java:1488) Richard, can you put together a small example that triggers the problem? (In reply to Brian de Alwis from comment #17) > Richard, can you put together a small example that triggers the problem? Sorry, i tried to reproduce it in a small project but that did not succeed. I used a example (http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/SWTTreeSimpleDemo.htm) as base but that always results in a error printed in the console and the application was shutdown. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie. |
Build Identifier: 3.7M6 Stacks at 1 day 3:19:04 main [RUNNABLE] CPU time: 2:54:34 org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(objc_super, int, int) org.eclipse.swt.widgets.Widget.callSuper(int, int, int) org.eclipse.swt.widgets.Widget.mouseDownSuper(int, int, int) org.eclipse.swt.widgets.Tree.mouseDownSuper(int, int, int) org.eclipse.swt.widgets.Widget.mouseDown(int, int, int) org.eclipse.swt.widgets.Control.mouseDown(int, int, int) org.eclipse.swt.widgets.Tree.mouseDown(int, int, int) org.eclipse.swt.widgets.Display.windowProc(int, int, int) org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(objc_super, int, int) org.eclipse.swt.widgets.Widget.callSuper(int, int, int) org.eclipse.swt.widgets.Widget.windowSendEvent(int, int, int) org.eclipse.swt.widgets.Shell.windowSendEvent(int, int, int) org.eclipse.swt.widgets.Display.windowProc(int, int, int) org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(objc_super, int, int) org.eclipse.swt.widgets.Display.applicationSendEvent(int, int, int) org.eclipse.swt.widgets.Display.applicationProc(int, int, int) org.eclipse.swt.internal.cocoa.OS.objc_msgSend(int, int, int) org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSEvent) org.eclipse.swt.widgets.Display.readAndDispatch() org.eclipse.ui.internal.Workbench.runEventLoop(Window$IExceptionHandler, Display) org.eclipse.ui.internal.Workbench.runUI() org.eclipse.ui.internal.Workbench.access$4(Workbench) org.eclipse.ui.internal.Workbench$7.run() org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm, Runnable) org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) org.eclipse.ui.PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) org.eclipse.ui.internal.ide.application.IDEApplication.start(IApplicationContext) org.eclipse.equinox.internal.app.EclipseAppHandle.run(Object) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Object) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Object) org.eclipse.core.runtime.adaptor.EclipseStarter.run(Object) org.eclipse.core.runtime.adaptor.EclipseStarter.run(String[], Runnable) sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[]) sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[]) java.lang.reflect.Method.invoke(Object, Object[]) org.eclipse.equinox.launcher.Main.invokeFramework(String[], URL[]) org.eclipse.equinox.launcher.Main.basicRun(String[]) org.eclipse.equinox.launcher.Main.run(String[]) Reproducible: Sometimes Steps to Reproduce: 1. Have a table tree 2. Expand a node > Eclipse shows unresponsive cursor > High CPU load > see details for stacktrace of main thread