Community
Participate
Working Groups
Steps to reproduce: 1) Ctrl + click on the method name to open the 'open type' hover. 2) the table in the hover has extra space below the Open Implementation almost equal to a row. 3) Click on the space below open implementation. 4) Eclipse hangs. I could reproduce this on OSX 10.5. I just upgraded to 10.6 and can't see it anymore. Will attach the screen shot and stack trace soon. Build: 3.6M7
>2) the table in the hover has extra space below the Open Implementation almost >equal to a row. See bug 311741.
Created attachment 167270 [details] screenshot showing extra row space in the hover
Created attachment 167282 [details] full thread dump
I debugged through this. Looks like the hang is happening in the Listener code due to an exception. Will post the stacktrace next.
AIOBE is happening in Listener code. Moving to platform UI. java.lang.ArrayIndexOutOfBoundsException: 0 at org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter$LinkListInformationControl.openSelectedLink(MultipleHyperlinkPresenter.java:318) at org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter$LinkListInformationControl.access$1(MultipleHyperlinkPresenter.java:317) at org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter$3.widgetSelected(MultipleHyperlinkPresenter.java:278) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3756) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1343) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1366) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1351) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1163) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3601) at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4457) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4717) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220) at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1001) at org.eclipse.swt.widgets.Table.mouseDownSuper(Table.java:1927) at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:997) at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2222) at org.eclipse.swt.widgets.Table.mouseDown(Table.java:1909) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4954) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220) at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1919) at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2007) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5018) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4560) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4637) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method) at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:115) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3253) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2601) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2565) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2399) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:669) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:662) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 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:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Lakshmi, I have two questions: 1. why is the first stack trace from comment 3 different? 2. why does SWT hang? Besides the ArrayIndexOutOfBoundsException I still think there's a bug in SWT bug: it shouldn't hang due to that Markus, can you take a look at this along with bug 311741? Thanks.
(In reply to comment #6) > 2. why does SWT hang? Besides the ArrayIndexOutOfBoundsException I still think > there's a bug in SWT bug: it shouldn't hang due to that Yes, that's bug 308844, which I hope to address for 3.6.
> Lakshmi, I have two questions: > 1. why is the first stack trace from comment 3 different? Hi Dani, I had to add a catch block around the code that calls the Listener handle event to get the exception in comment #5. Without that it just hangs at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper (the stack trace is same till here)
Need to see what SWT can do for bug 311741 and bug 308844. Maybe we have to hack around this. SWT.NO_SCROLL would be an option, but that would not be nice on other platforms (including Mac OS X 10.6, which we cannot distinguish from 10.5). Or we protect all calls to "fTable.getSelection()[0]" in MultipleHyperlinkPresenter.
Created attachment 167627 [details] Fix Fixes the AIOOBE and thus avoids the hanging up (bug 308844). Does not hack around the scrollbars issue, since that's an SWT problem and only affects 10.5 (bug 311741).
Dani, OK for RC1?
+1 for RC1.
Released fix from comment 10 to HEAD.
Verified in I20100516-0800.
Setting to VERIFIED (see comment 14).