[jboss-jira] [JBoss JIRA] (WFCORE-591) revertReloadRequired() throws a NPE is reloadRequired has not been called

Jeff Mesnil (JIRA) issues at jboss.org
Thu Mar 12 10:58:18 EDT 2015


Jeff Mesnil created WFCORE-591:
----------------------------------

             Summary: revertReloadRequired() throws a NPE is reloadRequired has not been called
                 Key: WFCORE-591
                 URL: https://issues.jboss.org/browse/WFCORE-591
             Project: WildFly Core
          Issue Type: Bug
          Components: Domain Management
    Affects Versions: 1.0.0.Alpha19
            Reporter: Jeff Mesnil
            Assignee: Jeff Mesnil
             Fix For: 1.0.0.Beta1


If an operation step handler calls org.jboss.as.controller.OperationContext#revertReloadRequired() when org.jboss.as.controller.OperationContext#reloadRequired() has not been called, it throws a NPE:

{noformat}
java.lang.NullPointerException
	at org.jboss.as.controller.ControlledProcessState.revertReloadRequired(ControlledProcessState.java:181)
	at org.jboss.as.controller.AbstractOperationContext.revertReloadRequired(AbstractOperationContext.java:1037)
	at org.jboss.as.controller.test.RevertReloadRequiredTestCase$TestResourceAddHandler.rollbackRuntime(RevertReloadRequiredTestCase.java:98)
	at org.jboss.as.controller.AbstractAddStepHandler$1$1.handleRollback(AbstractAddStepHandler.java:133)
	at org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1419)
	at org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1385)
	at org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1367)
	at org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1323)
	at org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1283)
	at org.jboss.as.controller.AbstractOperationContext$Step.access$300(AbstractOperationContext.java:1172)
	at org.jboss.as.controller.AbstractOperationContext.finishStep(AbstractOperationContext.java:929)
	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:877)
	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:601)
	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:354)
	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:330)
	at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1182)
	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:362)
	at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:205)
{noformat}

The NPE is caused by this.activeStep.restartStamp field which is set only when reloadRequired() (or restartRequired()) is called.

My OSH may call reloadRequired() or not depending on some runtime state and I could add some logic to make sure I call 
I can fix my handle to check that I call context.revertReloadRequired() only I had previously called reloadRequired () first.
However, in order to make the OperationContext more robust, I think that the revertReloadRequired() method should instead be a no-op if there is no reload required. 



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jboss-jira mailing list