[jbosstools-issues] [JBoss JIRA] (JBIDE-21817) Partial lock of UI at start by Sign In Openshift dialog

Andre Dietisheim (JIRA) issues at jboss.org
Fri Mar 4 04:30:00 EST 2016


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

Andre Dietisheim edited comment on JBIDE-21817 at 3/4/16 4:29 AM:
------------------------------------------------------------------

[~scabanovich] This sounds very similar to JBIDE-21686, which was happening in v3 though. In JBIDE-21686 there are 2 threads deadlocking on 2 locks: the lock in the cache and the lock for the UI thread.
Can you see a 2nd thread involved in this issue? jstack might help detecting.


was (Author: adietish):
[~scabanovich] This sounds very similar to JBIDE-21686, which was happening in v3 though. In JBIDE-21686 there are 2 threads deadlocking on 2 locks: the lock in the cache and the lock for the UI thread.
Can you see a 2nd thread involved in this issue?

> Partial lock of UI at start by Sign In Openshift dialog
> -------------------------------------------------------
>
>                 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
>         Attachments: 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