-
Bug
-
Resolution: Done
-
Major
-
28.0.0.Final
-
None
I suspect this bug is specific to ParallelBootOperationContext, but there seems to be an issue with calling OperationContext.getResourceRegistration() from within a RollbackHandler, as demonstrated in the following stacktrace:
2025-04-25 10:03:33,625 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 63) WFLYCTL0190: Step handler org.jboss.as.controller.AbstractAddStepHandler$1@75a17804 for operation add at address [ ("subsystem" => "jgroups"), ("stack" => "tcp"), ("protocol" => "FRAG4") ] failed -- org.jboss.as.controller._private.OperationFailedRuntimeException: WFLYCTL0071: Duplicate path element 'subsystem' found [ "WFLYCTL0071: Duplicate path element 'subsystem' found" ]: org.jboss.as.controller._private.OperationFailedRuntimeException: WFLYCTL0071: Duplicate path element 'subsystem' found [ "WFLYCTL0071: Duplicate path element 'subsystem' found" ] at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.PathAddress.duplicateElement(PathAddress.java:193) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.PathAddress.pathAddress(PathAddress.java:105) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.PathAddress.append(PathAddress.java:257) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.PathAddress.append(PathAddress.java:277) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.registry.AbstractResourceRegistration.getSubRegistration(AbstractResourceRegistration.java:390) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.registry.AbstractResourceRegistration.getSubModel(AbstractResourceRegistration.java:382) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.registry.AbstractResourceRegistration.getSubModel(AbstractResourceRegistration.java:40) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.registry.DelegatingImmutableManagementResourceRegistration.getSubModel(DelegatingImmutableManagementResourceRegistration.java:175) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.ParallelBootOperationContext.getResourceRegistration(ParallelBootOperationContext.java:148) at org.wildfly.subsystem@29.0.0.Beta1-SNAPSHOT//org.wildfly.subsystem.resource.operation.AddResourceOperationStepHandler.rollbackRuntime(AddResourceOperationStepHandler.java:253) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractAddStepHandler$1$1.handleRollback(AbstractAddStepHandler.java:108) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1753) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1674) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1656) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1617) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1590) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:918) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:898) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:804) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:469) at org.jboss.as.controller@29.0.0.Beta1-SNAPSHOT//org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandler.java:368) at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348) at java.base/java.lang.Thread.run(Thread.java:1583) at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Looking at the implementation of this method:
@Override public ImmutableManagementResourceRegistration getResourceRegistration() { ImmutableManagementResourceRegistration parent = primaryContext.getResourceRegistration(); return parent.getSubModel(activeStep.address); }
It looks like this is meant to operate on the root registration of the primary context, not the registration of the address of the primary context.
It also looks like the same issue would affect calls to getResourceRegistrationForUpdate().
- is related to
-
WFCORE-7243 Examine ParallelBootOperationContext for logic flaws during execution of a ResultHandler
-
- Open
-