Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 484623 - FetchGerritChangePage blocked by asynchronous PushResultDialog
Summary: FetchGerritChangePage blocked by asynchronous PushResultDialog
Status: CLOSED DUPLICATE of bug 487209
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: 4.1   Edit
Hardware: PC Windows 7
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-17 20:09 EST by Markus Keller CLA
Modified: 2016-04-21 06:46 EDT (History)
1 user (show)

See Also:


Attachments
Screenshot (77.02 KB, image/png)
2015-12-17 20:09 EST, Markus Keller CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2015-12-17 20:09:12 EST
Created attachment 258780 [details]
Screenshot

EGit locked me up with two dialogs, neither of which I could close.

Steps I performed:
- chose Push on repo
    ssh://mkeller@git.eclipse.org/gitroot/equinox/rt.equinox.bundles.git
- on the same repo, chose Fetch from Gerrit
- entered review number 61606, pressed Ctrl+Space

=> PushResultDialog popped up behind the Fetch dialog. As you can see in the screenshot and the stack trace, the Fetch dialog is running a ModalContext operation that doesn't allow me to close that dialog. The PushResultDialog cannot be activated, so I can't close it.

I could only recover because I could connect with a debugger and kill the PushResultDialog's event loop.

Stacktrace:

        at org.eclipse.swt.widgets.Display.sleep(Display.java:4739)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:819)
        at org.eclipse.jface.window.Window.open(Window.java:794)
        at org.eclipse.egit.ui.internal.push.PushResultDialog$1$1.run(PushResultDialog.java:68)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:183)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4166)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3782)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:169)
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:384)
        at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:993)
        at org.eclipse.egit.ui.internal.fetch.FetchGerritChangePage.getRefsForContentAssist(FetchGerritChangePage.java:492)
        at org.eclipse.egit.ui.internal.fetch.FetchGerritChangePage.access$8(FetchGerritChangePage.java:488)
        at org.eclipse.egit.ui.internal.fetch.FetchGerritChangePage$15.getProposals(FetchGerritChangePage.java:789)
        at org.eclipse.jface.fieldassist.ContentProposalAdapter.getProposals(ContentProposalAdapter.java:2005)
        at org.eclipse.jface.fieldassist.ContentProposalAdapter.openProposalPopup(ContentProposalAdapter.java:1854)
        at org.eclipse.jface.fieldassist.ContentProposalAdapter.access$16(ContentProposalAdapter.java:1849)
        at org.eclipse.jface.fieldassist.ContentProposalAdapter$1.handleEvent(ContentProposalAdapter.java:1720)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4373)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1105)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1132)
        at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1780)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1128)
        at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1550)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4821)
        at org.eclipse.swt.widgets.Text.WM_CHAR(Text.java:2714)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:4702)
        at org.eclipse.swt.widgets.Text.windowProc(Text.java:2696)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:5061)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2552)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3777)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
        at org.eclipse.jface.window.Window.open(Window.java:794)
        at org.eclipse.egit.ui.internal.commands.shared.FetchChangeFromGerritCommand.execute(FetchChangeFromGerritCommand.java:45)
        at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
        at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
        at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
        at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
        at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
        at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
        at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
        at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
        at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:491)
        at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
        at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:425)
        at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
        at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$3.handleEvent(AbstractContributionItem.java:477)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4373)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4191)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3779)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1122)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1023)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:157)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:691)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
        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:388)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
        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:497)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:670)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:609)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1516)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1489)
Comment 1 Matthias Sohn CLA 2016-04-21 06:46:58 EDT

*** This bug has been marked as a duplicate of bug 487209 ***