Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 344818 - [10.70][Lion] Eclipse unresponsive and high CPU load after expanding node in a table tree
Summary: [10.70][Lion] Eclipse unresponsive and high CPU load after expanding node in ...
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.7   Edit
Hardware: Macintosh Mac OS X
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: needinfo
: 347223 356045 375491 380039 382728 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-05-05 05:26 EDT by Johannes Rieken CLA
Modified: 2020-03-15 13:27 EDT (History)
16 users (show)

See Also:


Attachments
eclipse_4.2_hang.log (496.62 KB, application/octet-stream)
2012-09-21 00:17 EDT, Andrey Sobolev CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Rieken CLA 2011-05-05 05:26:07 EDT
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
Comment 1 Martin Lippert CLA 2011-08-23 08:28:29 EDT
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).
Comment 2 Steffen Pingel CLA 2011-09-01 12:29:37 EDT
*** Bug 356045 has been marked as a duplicate of this bug. ***
Comment 3 Markus Keller CLA 2012-05-21 07:03:15 EDT
*** Bug 347223 has been marked as a duplicate of this bug. ***
Comment 4 Markus Keller CLA 2012-05-21 07:03:41 EDT
*** Bug 375491 has been marked as a duplicate of this bug. ***
Comment 5 Markus Keller CLA 2012-05-21 07:04:56 EDT
*** Bug 380039 has been marked as a duplicate of this bug. ***
Comment 6 Markus Keller CLA 2012-05-21 07:11:12 EDT
Silenio, this could be worth investigating in RC2.
Comment 7 Bryan Hunt CLA 2012-05-21 09:01:29 EDT
This problem occurs quite often.
Comment 8 Bryan Hunt CLA 2012-05-29 11:08:09 EDT
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?
Comment 9 Silenio Quarti CLA 2012-05-29 11:43:52 EDT
Lakshmi, please investigate this one.
Comment 10 Lakshmi P Shanmugam CLA 2012-05-31 02:47:51 EDT
(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?
Comment 11 Bryan Hunt CLA 2012-06-21 10:28:54 EDT
I haven't been able to reproduce this problem in several weeks.  I'd be ok with WORKSFORME.
Comment 12 Lakshmi P Shanmugam CLA 2012-08-06 03:13:38 EDT
*** Bug 382728 has been marked as a duplicate of this bug. ***
Comment 13 Andrey Sobolev CLA 2012-09-21 00:16:16 EDT
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)
Comment 14 Andrey Sobolev CLA 2012-09-21 00:17:18 EDT
Created attachment 221329 [details]
eclipse_4.2_hang.log
Comment 15 Richard Groote CLA 2016-05-12 09:42:57 EDT
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
Comment 16 Richard Groote CLA 2016-05-12 09:57:39 EDT
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)
Comment 17 Brian de Alwis CLA 2016-05-17 21:51:10 EDT
Richard, can you put together a small example that triggers the problem?
Comment 18 Richard Groote CLA 2016-05-18 01:48:58 EDT
(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.
Comment 19 Eclipse Genie CLA 2020-03-15 13:27:09 EDT
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.