[jbosstools-issues] [JBoss JIRA] (JBIDE-15813) Unselecting embedded cartridge causes NPE after first try to create app failed.

Andre Dietisheim (JIRA) jira-events at lists.jboss.org
Tue Oct 29 18:13:02 EDT 2013


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

Andre Dietisheim edited comment on JBIDE-15813 at 10/29/13 6:12 PM:
--------------------------------------------------------------------

The cause I could establish so far is that the domain is resetted (to null) when you go back from page2 to page1. This happens when page1 calls #onPageActivated, reloads the domains, applications, gears etc, and causes the domain combo to loose it's selection. 
For my own documentation purposes: This is the stacktrace when the domain is set to "null" when you switch from page2 to page1:

{code}
ApplicationConfigurationWizardPageModel.setDomain(IDomain) line: 495	
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
Method.invoke(Object, Object...) line: 597	
BeanPropertyHelper.writeProperty(Object, PropertyDescriptor, Object) line: 59	
BeanValueProperty.doSetValue(Object, Object) line: 51	
BeanValueProperty(ValueProperty).setValue(Object, Object) line: 83	
SimplePropertyObservableValue.doSetValue(Object) line: 104	
SimplePropertyObservableValue(AbstractObservableValue).setValue(Object) line: 55	
BeanObservableValueDecorator(DecoratingObservableValue).setValue(Object) line: 103	
BeanObservableValueDecorator(DecoratingObservableValue).setValue(Object) line: 103	
UpdateValueStrategy.doSet(IObservableValue, Object) line: 486	
ValueBinding$4.run() line: 197	
Realm$1.run() line: 148	
SafeRunner.run(ISafeRunnable) line: 42	
Realm.safeRun(Runnable) line: 152	
SWTObservables$DisplayRealm(Realm).exec(Runnable) line: 170	
ValueBinding$3.run() line: 188	
Realm$1.run() line: 148	
SafeRunner.run(ISafeRunnable) line: 42	
Realm.safeRun(Runnable) line: 152	
SWTObservables$DisplayRealm(Realm).exec(Runnable) line: 170	
ValueBinding.doUpdate(IObservableValue, IObservableValue, UpdateValueStrategy, boolean, boolean) line: 151	
ValueBinding.updateTargetToModel() line: 112	
DataBindingContext.updateModels() line: 451	
WizardUtils.runInWizard(Job, DelegatingProgressMonitor, IWizardContainer, DataBindingContext) line: 209	
WizardUtils.runInWizard(Job, IWizardContainer, DataBindingContext) line: 202	
ApplicationConfigurationWizardPage.loadOpenshiftResources(DataBindingContext) line: 1052	
ApplicationConfigurationWizardPage.onPageActivated(DataBindingContext) line: 998	
AbstractOpenShiftWizardPage$1.pageChanged(PageChangedEvent) line: 76	
WizardDialog$9.run() line: 1553	
SafeRunner.run(ISafeRunnable) line: 42	
JFaceUtil$1.run(ISafeRunnable) line: 49	
SafeRunnable.run(ISafeRunnable) line: 175	
WizardDialog.firePageChanged(PageChangedEvent) line: 1551	
WizardDialog.update() line: 1336	
WizardDialog.updateForPage(IWizardPage) line: 1264	
WizardDialog.access$4(WizardDialog, IWizardPage) line: 1238	
WizardDialog$8.run() line: 1227	
BusyIndicator.showWhile(Display, Runnable) line: 70	
WizardDialog.showPage(IWizardPage) line: 1225	
WizardDialog.backPressed() line: 411	
WizardDialog.buttonPressed(int) line: 424	
Dialog$2.widgetSelected(SelectionEvent) line: 628	
TypedListener.handleEvent(Event) line: 248	
EventTable.sendEvent(Event) line: 84	
Button(Widget).sendEvent(Event) line: 1392	
Display.runDeferredEvents() line: 3742	
Display.readAndDispatch() line: 3363	
WizardDialog(Window).runEventLoop(Shell) line: 826	
WizardDialog(Window).open() line: 802	
WizardUtils.openWizard(IWorkbenchWizard, Shell, IStructuredSelection) line: 59	
WizardUtils.openWizard(IWorkbenchWizard, Shell) line: 49	
NewApplicationHandler.open(IWorkbenchWizard, Shell) line: 46	
NewApplicationHandler.execute(ExecutionEvent) line: 35	
HandlerProxy.execute(ExecutionEvent) line: 290	
E4HandlerProxy.execute(IEclipseContext, Map, Event, IEvaluationContext) line: 90	
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
Method.invoke(Object, Object...) line: 597	
MethodRequestor.execute() line: 56	
InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 243	
InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 224	
ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, IEclipseContext, Object) line: 132	
WorkbenchHandlerServiceHandler(HandlerServiceHandler).execute(ExecutionEvent) line: 167	
Command.executeWithChecks(ExecutionEvent) line: 499	
ParameterizedCommand.executeWithChecks(Object, Object) line: 508	
HandlerServiceImpl.executeHandler(ParameterizedCommand, IEclipseContext) line: 213	
HandledContributionItem.executeItem(Event) line: 850	
HandledContributionItem.handleWidgetSelection(Event) line: 743	
HandledContributionItem.access$7(HandledContributionItem, Event) line: 727	
HandledContributionItem$4.handleEvent(Event) line: 662	
EventTable.sendEvent(Event) line: 84	
MenuItem(Widget).sendEvent(Event) line: 1392	
Display.runDeferredEvents() line: 3742	
Display.readAndDispatch() line: 3363	
PartRenderingEngine$9.run() line: 1113	
Realm.runWithDefault(Realm, Runnable) line: 332	
PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 997	
E4Workbench.createAndRunUI(MApplicationElement) line: 138	
Workbench$5.run() line: 610	
Realm.runWithDefault(Realm, Runnable) line: 332	
Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 567	
PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 150	
IDEApplication.start(IApplicationContext) line: 124	
EclipseAppHandle.run(Object) line: 196	
EclipseAppLauncher.runApplication(Object) line: 110	
EclipseAppLauncher.start(Object) line: 79	
EclipseStarter.run(Object) line: 354	
EclipseStarter.run(String[], Runnable) line: 181	
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
Method.invoke(Object, Object...) line: 597	
Main.invokeFramework(String[], URL[]) line: 636	
Main.basicRun(String[]) line: 591	
Main.run(String[]) line: 1450	
Main.main(String[]) line: 1426	
{code}
                
      was (Author: adietish):
    The cause I could establish so far is that the domain is resetted (to null) when you go back from page2 to page1. This happens when page1 calls #onPageActivated, reloads the domains, applications, gears etc, and causes the domain combo to loose it's selection.
                  
> Unselecting embedded cartridge causes NPE after first try to create app failed.
> -------------------------------------------------------------------------------
>
>                 Key: JBIDE-15813
>                 URL: https://issues.jboss.org/browse/JBIDE-15813
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.1.1.Beta1
>            Reporter: Marián Labuda
>            Assignee: Andre Dietisheim
>
> After attempt to create scalable app with php my admin cartridge (which should not be possible - I miss some dialog about it) and then try to modify cartridges before new attempt to create, NPE is thrown.
> 1. EXEC: create new openshift app
> 2. EXEC: type app name, confirm checkbox for php my admin and my sql, confirm checkbox for scalable app (IMPORTANT: check "Enable scaling" AFTER you added the cartridges)
> 3. EXEC: click next
> 4. EXEC: click Finish
> 5. ASSERT: Error dialog is shown - cannot create such app.
> 6. EXEC: click back
> 7. EXEC: try to clear checkbox for any of choosen cartridges
> 8. ASSERT: NPE dialog is show (check .log)
> !uncheck-and-npe.png!
> In the Eclipse log you'll spot the following:
> {code}
> java.lang.NullPointerException
> 	at org.jboss.tools.openshift.express.internal.ui.wizard.embed.EmbedCartridgeStrategyAdapter.getEmbedCartridgeStrategy(EmbedCartridgeStrategyAdapter.java:159)
> 	at org.jboss.tools.openshift.express.internal.ui.wizard.embed.EmbedCartridgeStrategyAdapter.checkStateChanged(EmbedCartridgeStrategyAdapter.java:83)
> 	at org.eclipse.jface.viewers.CheckboxTableViewer$1.run(CheckboxTableViewer.java:212)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
> 	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> 	at org.eclipse.jface.viewers.CheckboxTableViewer.fireCheckStateChanged(CheckboxTableViewer.java:210)
> 	at org.eclipse.jface.viewers.CheckboxTableViewer.handleSelect(CheckboxTableViewer.java:306)
> 	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1241)
> 	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:239)
> 	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:233)
> 	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:403)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
> 	at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
> 	at org.eclipse.jface.window.Window.open(Window.java:802)
> 	at org.jboss.tools.openshift.express.internal.ui.utils.WizardUtils.openWizard(WizardUtils.java:59)
> 	at org.jboss.tools.openshift.express.internal.ui.utils.WizardUtils.openWizard(WizardUtils.java:49)
> 	at org.jboss.tools.openshift.express.internal.ui.command.NewApplicationHandler.open(NewApplicationHandler.java:46)
> 	at org.jboss.tools.openshift.express.internal.ui.command.NewApplicationHandler.execute(NewApplicationHandler.java:35)
> 	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
> 	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
> 	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:597)
> 	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
> 	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
> 	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
> 	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
> 	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
> 	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
> 	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
> 	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
> 	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:850)
> 	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:743)
> 	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:727)
> 	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:662)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
> 	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
> 	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:354)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
> 	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:597)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
> 	at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the jbosstools-issues mailing list