[jboss-jira] [JBoss JIRA] (WFCORE-3385) Cannot batch-drop sar extension and subsystem

Chao Wang (JIRA) issues at jboss.org
Thu Oct 26 05:33:00 EDT 2017


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

Chao Wang commented on WFCORE-3385:
-----------------------------------

It's more like an issue in WFCORE. I noticed something fishy in stage process for two operations in batch. Although the input order is 1st remove subsystem, 2nd remove extension (which is correct order). But extension remove is processed first at MODEL stage. Secondly, subsystem remove is processed at RUNTIME stage. This will unregister sub model first, and AbstractOperationContext.reloadRequired() get null for specified management model for current resourceRegistration as subsystem remove requires a reload, which leads to NPE at org.jboss.as.controller.CapabilityRegistry.getCapabilitiesForAddress.



> Cannot batch-drop sar extension and subsystem
> ---------------------------------------------
>
>                 Key: WFCORE-3385
>                 URL: https://issues.jboss.org/browse/WFCORE-3385
>             Project: WildFly Core
>          Issue Type: Bug
>          Components: Domain Management
>    Affects Versions: 3.0.8.Final
>         Environment: OpenJDK 8, Linux, 64 bit.
>            Reporter: Marcel Šebek
>            Assignee: Jason Greene
>
> Dropping SAR subsystem and SAR extension in a batch results in
> ```
> 15:36:09,805 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) WFLYCTL0013: Operation ("remove") failed - address: ([("subsystem" => "sar")]): java.lang.NullPointerException
>         at org.jboss.as.controller.CapabilityRegistry.getCapabilitiesForAddress(CapabilityRegistry.java:469)
>         at org.jboss.as.controller.CapabilityRegistry.capabilityReloadRequired(CapabilityRegistry.java:446)
>         at org.jboss.as.controller.AbstractOperationContext.reloadRequired(AbstractOperationContext.java:1122)
>         at org.jboss.as.controller.ReloadRequiredRemoveStepHandler.performRuntime(ReloadRequiredRemoveStepHandler.java:56)
>         at org.jboss.as.controller.AbstractRemoveStepHandler$1.execute(AbstractRemoveStepHandler.java:82)
>         at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:980)
>         at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:726)
>         at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:450)
>         at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1402)
>         at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:418)
>         at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
>         at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
>         at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
>         at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
>         at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
>         at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
>         at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> 15:36:09,807 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) WFLYCTL0190: Step handler org.jboss.as.controller.extension.ExtensionRemoveHandler at 3ca42854 for operation remove at address [("extension" => "org.jboss.as.sar")] failed handling operation rollback -- java.lang.IllegalStateException: WFLYCTL0363: Capability 'org.wildfly.sar-deployment' is already registered in context 'global'.: java.lang.IllegalStateException: WFLYCTL0363: Capability 'org.wildfly.sar-deployment' is already registered in context 'global'.
>         at org.jboss.as.controller.CapabilityRegistry.lambda$registerPossibleCapability$0(CapabilityRegistry.java:572)
>         at java.util.concurrent.ConcurrentHashMap.computeIfPresent(ConcurrentHashMap.java:1769)
>         at org.jboss.as.controller.CapabilityRegistry.registerPossibleCapability(CapabilityRegistry.java:566)
>         at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerCapability(ConcreteResourceRegistration.java:684)
>         at org.jboss.as.controller.SimpleResourceDefinition.registerCapabilities(SimpleResourceDefinition.java:362)
>         at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:112)
>         at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:231)
>         at org.jboss.as.controller.extension.ExtensionRegistry$SubsystemRegistrationImpl.registerSubsystemModel(ExtensionRegistry.java:706)
>         at org.jboss.as.service.SarExtension.initialize(SarExtension.java:93)
>         at org.jboss.as.controller.extension.ExtensionAddHandler.initializeExtension(ExtensionAddHandler.java:131)
>         at org.jboss.as.controller.extension.ExtensionRemoveHandler$1.handleRollback(ExtensionRemoveHandler.java:81)
>         at org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1526)
>         at org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1498)
>         at org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1480)
>         at org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1437)
>         at org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1420)
>         at org.jboss.as.controller.AbstractOperationContext$Step.access$400(AbstractOperationContext.java:1284)
>         at org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:857)
>         at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:739)
>         at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:450)
>         at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1402)
>         at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:418)
>         at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
>         at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
>         at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
>         at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
>         at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
>         at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
>         at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
>         at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> ```



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)



More information about the jboss-jira mailing list