[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