[jbosstools-issues] [JBoss JIRA] (JBIDE-21817) Connection dialog: User is stuck by Sign In triggered via OpenShift 2 server adapter

Viacheslav Kabanovich (JIRA) issues at jboss.org
Fri Mar 4 15:06:00 EST 2016


    [ https://issues.jboss.org/browse/JBIDE-21817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13172281#comment-13172281 ] 

Viacheslav Kabanovich edited comment on JBIDE-21817 at 3/4/16 3:05 PM:
-----------------------------------------------------------------------

That is purely UI lock. 1. Workbench window loads. 2. Editor loads and makes loading window wait. 3. Editor starts modal dialog and waits. 4. Dialog asks permission to run in ui thread. It might be too much for thread manager to handle. So that the permission is not granted - lock. But there remains one part of UI active - stop button.

I do remember such cases in the long past, when an editor could be opened successfully manually, but if left active at closing Eclipse it caused deadlock at the next start of Eclipse at auto loading the editor.


was (Author: scabanovich):
That is purely UI lock. 1. Workbench window loads. 2. Editor loads and makes loading window wait. 3. Editor starts modal dialog and waits. 4. Dialog asks permission to run in ui thread. It might be too much for thread manager to handle. So that the permission is not granted - lock. But there remains one part of UI active - stop button.

> Connection dialog: User is stuck by Sign In triggered via OpenShift 2 server adapter
> ------------------------------------------------------------------------------------
>
>                 Key: JBIDE-21817
>                 URL: https://issues.jboss.org/browse/JBIDE-21817
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.3.1.Beta2
>            Reporter: Viacheslav Kabanovich
>              Labels: openshift_v2
>             Fix For: 4.3.1.CR1
>
>         Attachments: jstack.txt, LockAtStart.png
>
>
> 1. Close Eclipse with 
>   - Server Editor for OpenShift 2 server adapter open;
>   - password for an Opebshift 2 connection not saved in the secure storage;
>   - OpenShift Explorer active (maybe not important).
> 2. Open Eclipse - Sign In to OpenShift wizard appears while the application window remains only partially loaded (see screenshot). Once this is reproduced, it is reproduced at each Eclipse start. 
> 3. Enter password and finish.
> 4. Progress appears but job does not start (I checked it in debugger) - ui jobs are locked.
> 5. Only red button cancelling connection is active, press it, wizard is unlocked (null pointer exception is fixed in JBIDE-21707).
> 6. Press Cancel, wizard is closed, Application window completes loading. - That 
> 7. Connection may be established by Refresh action.
> Stack trace that calls Sign In to Openshift wizard before main window is loaded, it shows that call is initiated by loading Server Editor:
> {code}
> Thread [main] (Suspended (breakpoint at line 274 in Window))	
> 	WizardDialog(Window).<init>(IShellProvider) line: 274	
> 	WizardDialog(Dialog).<init>(IShellProvider) line: 438	
> 	WizardDialog(Dialog).<init>(Shell) line: 419	
> 	WizardDialog(TrayDialog).<init>(Shell) line: 138	
> 	WizardDialog(TitleAreaDialog).<init>(Shell) line: 130	
> 	WizardDialog.<init>(Shell, IWizard) line: 308	
> 	WizardUtils.openWizardDialog(IWizard, Shell) line: 242	
> 	CredentialsPrompter$1.run() line: 44	
> 	UISynchronizer(Synchronizer).syncExec(Runnable) line: 186	
> 	UISynchronizer.syncExec(Runnable) line: 145	
> 	Display.syncExec(Runnable) line: 4634	
> 	CredentialsPrompter.promptAndAuthenticate(IConnection, Object) line: 33	
> 	LazyCredentialsPrompter.promptAndAuthenticate(IConnection, Object) line: 39	
> 	ExpressConnection.promptForCredentials() line: 284	
> 	ExpressConnection.createUser() line: 218	
> 	ExpressConnection.connect() line: 198	
> 	ExpressServerUtils.getApplication(IServerAttributes) line: 161	
> 	ExpressServerUtils.getDeployFolder(IServerAttributes) line: 251	
> 	ExpressServerEditorSection.initWidgets() line: 117	
> 	ExpressServerEditorSection.createSection(Composite) line: 100	
> 	OverviewEditorPart(ServerEditorPart).insertSections(Composite, String) line: 327	
> 	OverviewEditorPart.createPartControl(Composite) line: 279	
> 	ServerEditor(MultiPageEditorPart).addPage(int, IEditorPart, IEditorInput) line: 244	
> 	ServerEditor(MultiPageEditorPart).addPage(IEditorPart, IEditorInput) line: 214	
> 	ServerEditor.createPages() line: 247	
> 	ServerEditor(MultiPageEditorPart).createPartControl(Composite) line: 363	
> 	CompatibilityEditor(CompatibilityPart).createPartControl(IWorkbenchPart, Composite) line: 151	
> 	CompatibilityEditor.createPartControl(IWorkbenchPart, Composite) line: 99	
> 	CompatibilityEditor(CompatibilityPart).create() line: 341	
> 	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
> 	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62	
> 	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43	
> 	Method.invoke(Object, Object...) line: 498	
> 	MethodRequestor.execute() line: 56	
> 	InjectorImpl.processAnnotated(Class<Annotation>, Object, Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier, ArrayList<Class<?>>) line: 925	
> 	InjectorImpl.processAnnotated(Class<Annotation>, Object, Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier, ArrayList<Class<?>>) line: 906	
> 	InjectorImpl.inject(Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 148	
> 	InjectorImpl.internalMake(Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 372	
> 	InjectorImpl.make(Class<T>, PrimaryObjectSupplier) line: 291	
> 	ContextInjectionFactory.make(Class<T>, IEclipseContext) line: 162	
> 	ReflectionContributionFactory.createFromBundle(Bundle, IEclipseContext, IEclipseContext, URI) line: 105	
> 	ReflectionContributionFactory.doCreate(String, IEclipseContext, IEclipseContext) line: 74	
> 	ReflectionContributionFactory.create(String, IEclipseContext) line: 56	
> 	ContributedPartRenderer.createWidget(MUIElement, Object) line: 129	
> 	PartRenderingEngine.createWidget(MUIElement, Object) line: 976	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 652	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	StackRenderer.showTab(MUIElement) line: 1306	
> 	StackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 103	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 670	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	AreaRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine$1.run() line: 537	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 521	
> 	ElementReferenceRenderer.createWidget(MUIElement, Object) line: 70	
> 	PartRenderingEngine.createWidget(MUIElement, Object) line: 976	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 652	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	SashRenderer.processContents(MElementContainer<MUIElement>) line: 151	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	SashRenderer.processContents(MElementContainer<MUIElement>) line: 151	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	SashRenderer.processContents(MElementContainer<MUIElement>) line: 151	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	PerspectiveRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	PerspectiveRenderer.processContents(MElementContainer<MUIElement>) line: 49	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	PerspectiveStackRenderer.showTab(MUIElement) line: 82	
> 	PerspectiveStackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 103	
> 	PerspectiveStackRenderer.postProcess(MUIElement) line: 63	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 670	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	SashRenderer.processContents(MElementContainer<MUIElement>) line: 151	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	WBWRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 72	
> 	WBWRenderer.processContents(MElementContainer<MUIElement>) line: 614	
> 	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 666	
> 	PartRenderingEngine.safeCreateGui(MUIElement) line: 758	
> 	PartRenderingEngine.access$0(PartRenderingEngine, MUIElement) line: 729	
> 	PartRenderingEngine$2.run() line: 723	
> 	SafeRunner.run(ISafeRunnable) line: 42	
> 	PartRenderingEngine.createGui(MUIElement) line: 707	
> 	PartRenderingEngine$4.run() line: 1066	
> 	Realm.runWithDefault(Realm, Runnable) line: 336	
> 	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 1023	
> 	E4Workbench.createAndRunUI(MApplicationElement) line: 157	
> 	Workbench$5.run() line: 651	
> 	Realm.runWithDefault(Realm, Runnable) line: 336	
> 	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 595	
> 	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 150	
> 	IDEApplication.start(IApplicationContext) line: 138	
> 	EclipseAppHandle.run(Object) line: 196	
> 	EclipseAppLauncher.runApplication(Object) line: 134	
> 	EclipseAppLauncher.start(Object) line: 104	
> 	EclipseStarter.run(Object) line: 388	
> 	EclipseStarter.run(String[], Runnable) line: 243	
> 	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
> 	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62	
> 	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43	
> 	Method.invoke(Object, Object...) line: 498	
> 	Main.invokeFramework(String[], URL[]) line: 670	
> 	Main.basicRun(String[]) line: 609	
> 	Main.run(String[]) line: 1516	
> 	Main.main(String[]) line: 1489	
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbosstools-issues mailing list