|
|
|
|
|
|
Re: Enter Projects Page from Eclipse will cause the program gets stuck [message #1743212 is a reply to message #1743198] |
Tue, 13 September 2016 10:46 |
Alexander Nittka Messages: 1193 Registered: July 2009 |
Senior Member |
|
|
I am experiencing the same symptoms (already back with version 1.4 and now 1.5 Build 2579). I am running Win7 32 bit, no proxy settings (). Setting up a fresh Eclipse (Neon, Java developer with target platform Neon) with my empty project (https://raw.githubusercontent.com/nittka/oomph-playground/master/setups/setups/emptyProject.setup), I can open all the parent models (e.g. Open Eclipse Projects), but when I try to import a project (import Omph->Projects into Workspace), Eclipse hangs at the same point (resolving proxies).
... same behaviour when deleting all user projects from the local org.eclipse projects.setup and skipping project selection when setting up the initial Eclipse.
... same behaviour when going offline, deactivating firewall, instantiating the project offline and trying to open the import project dialog. The "Cancel"-Button has no effect and as the dialog is modal there is no immediate chance to check whether some other dialog has opened behind any of the other windows.
Need training, onsite consulting or any other kind of help for Xtext?
Go visit http://xtext.itemis.com or send a mail to xtext@itemis.de
[Updated on: Tue, 13 September 2016 11:18] Report message to a moderator
|
|
|
Re: Enter Projects Page from Eclipse will cause the program gets stuck [message #1743222 is a reply to message #1743212] |
Tue, 13 September 2016 11:44 |
Ed Merks Messages: 33142 Registered: July 2009 |
Senior Member |
|
|
Yes, I was just debugging the code and set a breakpoint in org.eclipse.oomph.setup.ui.wizards.SetupWizard.hasModalChild(Shell, Shell) and could reproduce the problem that way. You probably don't want to know all the details, but here's what's on the stack:
Thread [main] (Suspended (breakpoint at line 865 in SetupWizard))
owns: RunnableLock (id=12829)
SetupWizard.hasModalChild(Shell, Shell) line: 865
SetupWizard.access$1(Shell, Shell) line: 863
SetupWizard$IndexLoader$3$1.run() line: 1028
UIUtil$8.run() line: 684
Display.runTimer(long) line: 4329
Display.messageProc(long, long, long, long) line: 3418
OS.DispatchMessageW(MSG) line: not available [native method]
OS.DispatchMessage(MSG) line: 2552
Display.readAndDispatch() line: 3814
SetupWizard$ProgressMonitorDialogIndexLoader(SetupWizard$IndexLoader).awaitIndexLoad() line: 1193
ProjectPage$20.run() line: 1079
UIUtil$8.run() line: 684
Display.runTimer(long) line: 4329
Display.messageProc(long, long, long, long) line: 3418
OS.DispatchMessageW(MSG) line: not available [native method]
OS.DispatchMessage(MSG) line: 2552
Display.readAndDispatch() line: 3814
ModalContext$ModalContextThread.block() line: 165
ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor, Display) line: 369
ProgressMonitorDialog.run(boolean, boolean, IRunnableWithProgress) line: 481
SetupWizard$ProgressMonitorDialogIndexLoader.loadIndex(ResourceSet, URI...) line: 1277
SetupWizard$3.run() line: 777
UIUtil$4.run() line: 505
RunnableLock.run() line: 35
UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 182
Display.runAsyncMessages(boolean) line: 4203
Display.readAndDispatch() line: 3819
SetupWizardDialog(Window).runEventLoop(Shell) line: 818
SetupWizardDialog(Window).open() line: 794
SetupWizard$Importer(SetupWizard).openDialog(Shell) line: 654
ImportProjectsHandler.run() line: 39
ImportProjectsHandler(AbstractDropdownItemHandler).execute(ExecutionEvent) line: 50
So the code gets stuck in endless redispatching:
UIUtil.asyncExec(new Runnable()
{
public void run()
{
if (hasModalChild(shell, null))
{
UIUtil.timerExec(200, this);
return;
}
This code is waiting for some other modal dialog shell to go away, but in this case its waiting for the modal progress dialog that's lower down in the call stack, which will never go away by itself until the call stack can return to that point, which it can't.
Anyway, if I mark the shell, I can detect this case, and hide it, so that progress can continue (without a progress dialog on top a progress dialog) and that seems to do the trick.
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03897 seconds