[jboss-jira] [JBoss JIRA] (WFCORE-2632) write-attribute with {allow-resource-service-restart=true} causes DuplicateServiceException for Elytron security-domain

Ondrej Lukas (JIRA) issues at jboss.org
Thu Apr 6 02:52:01 EDT 2017


Ondrej Lukas created WFCORE-2632:
------------------------------------

             Summary: write-attribute with {allow-resource-service-restart=true} causes DuplicateServiceException for Elytron security-domain
                 Key: WFCORE-2632
                 URL: https://issues.jboss.org/browse/WFCORE-2632
             Project: WildFly Core
          Issue Type: Bug
          Components: Security
            Reporter: Ondrej Lukas
            Assignee: Darran Lofthouse
            Priority: Critical


In case when some attribute of Elytron security-domain is changed through CLI write-attribute with {{allow-resource-service-restart=true}} flag then it finishes with DuplicateServiceException. In case when it is executed again then in passes correctly.

See:
{code}
/subsystem=elytron/security-domain=ManagementDomain:write-attribute(name=realm-mapper,value=local){allow-resource-service-restart=true}
{
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0158: Operation handler failed: org.jboss.msc.service.DuplicateServiceException: Service org.wildfly.security.security-domain.ManagementDomain.initial is already registered",
    "rolled-back" => true
}
/subsystem=elytron/security-domain=ManagementDomain:write-attribute(name=realm-mapper,value=local){allow-resource-service-restart=true}
{"outcome" => "success"}
{code}

Thrown exception to server log:
{code}
ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
    ("subsystem" => "elytron"),
    ("security-domain" => "ManagementDomain")
]): org.jboss.msc.service.DuplicateServiceException: Service org.wildfly.security.security-domain.ManagementDomain.initial is already registered
	at org.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:158)
	at org.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:235)
	at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:768)
	at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:223)
	at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2555)
	at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:223)
	at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2555)
	at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:317)
	at org.jboss.as.controller.OperationContextImpl.installService(OperationContextImpl.java:2015)
	at org.jboss.as.controller.OperationContextImpl.access$500(OperationContextImpl.java:132)
	at org.jboss.as.controller.OperationContextImpl$2$1.installService(OperationContextImpl.java:749)
	at org.jboss.as.controller.OperationContextImpl$ContextServiceBuilder.install(OperationContextImpl.java:2209)
	at org.jboss.as.controller.DelegatingServiceBuilder.install(DelegatingServiceBuilder.java:218)
	at org.wildfly.extension.elytron.DomainDefinition.installInitialService(DomainDefinition.java:307)
	at org.wildfly.extension.elytron.DomainDefinition.installService(DomainDefinition.java:324)
	at org.wildfly.extension.elytron.DomainDefinition.access$400(DomainDefinition.java:96)
	at org.wildfly.extension.elytron.DomainDefinition$WriteAttributeHandler.recreateParentService(DomainDefinition.java:494)
	at org.jboss.as.controller.RestartParentWriteAttributeHandler.applyUpdateToRuntime(RestartParentWriteAttributeHandler.java:72)
	at org.jboss.as.controller.AbstractWriteAttributeHandler$1.execute(AbstractWriteAttributeHandler.java:104)
	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:979)
	at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:722)
	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:441)
	at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1397)
	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:421)
	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:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
{code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list