[jboss-jira] [JBoss JIRA] (WFLY-5225) Server is not responding after attempt to set parent of profile to non-existent profile

Kabir Khan (JIRA) issues at jboss.org
Thu Sep 3 05:24:05 EDT 2015


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

Kabir Khan commented on WFLY-5225:
----------------------------------

I am looking into it, but have no idea what is going on yet, so I have no estimate. I noticed that current WildFly Core master on its own works properly, and the place where it prints out the expected error message is at the following location:
{code}
requiredCapabilityMissing():3710, ControllerLogger_$logger {org.jboss.as.controller.logging}
validateCapabilities():353, OperationContextImpl {org.jboss.as.controller}
stageCompleted():267, OperationContextImpl {org.jboss.as.controller}
processStages():602, AbstractOperationContext {org.jboss.as.controller}
executeOperation():362, AbstractOperationContext {org.jboss.as.controller}
{code}

On WildFly master built both with the core version from master, and a snapshot from the core master, it fails with the NPE earlier in validateCapabilities():
{code}
storeIncludes():127, IncludingResourceCapabilityContext {org.jboss.as.controller.capability.registry}
getIncludingContexts():74, IncludingResourceCapabilityContext {org.jboss.as.controller.capability.registry}
resolveCapabilities():587, CapabilityRegistry {org.jboss.as.controller}
validateCapabilityRegistry():1212, ModelControllerImpl$ManagementModelImpl {org.jboss.as.controller}
validateCapabilities():277, OperationContextImpl {org.jboss.as.controller}
stageCompleted():267, OperationContextImpl {org.jboss.as.controller}
processStages():602, AbstractOperationContext {org.jboss.as.controller}
executeOperation():362, AbstractOperationContext {org.jboss.as.controller}
{code}

A side-effect of the NPE was that the controller write lock never got released (i.e. why the remove was hanging) and has a fix at https://github.com/wildfly/wildfly-core/compare/wildfly:master...kabir:WFLY-5225?expand=1.

To reproduce the NPE, I have removed all the servers from my local host.xml, and trimmed down the domain.xml. I can reproduce the NPE with the following domain.xml:
{code}
<?xml version='1.0' encoding='UTF-8'?>

<domain xmlns="urn:jboss:domain:4.0">

    <extensions>
        <extension module="org.jboss.as.logging"/>
        <extension module="org.wildfly.extension.io"/>
        <extension module="org.wildfly.extension.undertow"/>
    </extensions>

    <system-properties>
        <property name="java.net.preferIPv4Stack" value="true"/>
    </system-properties>

    <management>
        <access-control provider="simple">
            <role-mapping>
                <role name="SuperUser">
                    <include>
                        <user name="$local"/>
                    </include>
                </role>
            </role-mapping>
        </access-control>
    </management>

    <profiles>
        <profile name="default">
            <subsystem xmlns="urn:jboss:domain:logging:3.0">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <named-formatter name="COLOR-PATTERN"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <named-formatter name="PATTERN"/>
                    </formatter>
                    <file relative-to="jboss.server.log.dir" path="server.log"/>
                    <suffix value=".yyyy-MM-dd"/>
                    <append value="true"/>
                </periodic-rotating-file-handler>
                <logger category="com.arjuna">
                    <level name="WARN"/>
                </logger>
                <logger category="org.apache.tomcat.util.modeler">
                    <level name="WARN"/>
                </logger>
                <logger category="org.jboss.as.config">
                    <level name="DEBUG"/>
                </logger>
                <logger category="sun.rmi">
                    <level name="WARN"/>
                </logger>
                <root-logger>
                    <level name="INFO"/>
                    <handlers>
                        <handler name="CONSOLE"/>
                        <handler name="FILE"/>
                    </handlers>
                </root-logger>
                <formatter name="PATTERN">
                    <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                </formatter>
                <formatter name="COLOR-PATTERN">
                    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                </formatter>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:io:1.1">
                <worker name="default"/>
                <buffer-pool name="default"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:undertow:3.0">
                <buffer-cache name="default"/>
                <server name="default-server">
                    <http-listener name="default" redirect-socket="https" socket-binding="http"/>
                    <host name="default-host" alias="localhost">
                        <location name="/" handler="welcome-content"/>
                        <filter-ref name="server-header"/>
                        <filter-ref name="x-powered-by-header"/>
                    </host>
                </server>
                <servlet-container name="default">
                    <jsp-config/>
                    <websockets/>
                </servlet-container>
                <handlers>
                    <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                </handlers>
                <filters>
                    <response-header name="server-header" header-value="WildFly/10" header-name="Server"/>
                    <response-header name="x-powered-by-header" header-value="Undertow/1" header-name="X-Powered-By"/>
                </filters>
            </subsystem>
        </profile>
        <profile name="new"/>
    </profiles>

    <interfaces>
        <interface name="management"/>
        <interface name="public"/>
        <interface name="unsecure"/>
    </interfaces>

    <socket-binding-groups>
        <socket-binding-group name="standard-sockets" default-interface="public">
            <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
            <socket-binding name="http" port="${jboss.http.port:8080}"/>
            <socket-binding name="https" port="${jboss.https.port:8443}"/>
            <socket-binding name="txn-recovery-environment" port="4712"/>
            <socket-binding name="txn-status-manager" port="4713"/>
            <outbound-socket-binding name="mail-smtp">
                <remote-destination host="localhost" port="25"/>
            </outbound-socket-binding>
        </socket-binding-group>
    </socket-binding-groups>

    <server-groups>
        <server-group name="main-server-group" profile="default">
            <jvm name="default">
                <heap size="64m" max-size="512m"/>
            </jvm>
            <socket-binding-group ref="standard-sockets"/>
        </server-group>
    </server-groups>

</domain>
{code}

If I comment out the undertow subsystem, I get the expected "WFLYCTL0369: Required capabilities are not available: org.wildfly.domain.profile.nonsence in context 'profiles'" message.


> Server is not responding after attempt to set parent of profile to non-existent profile
> ---------------------------------------------------------------------------------------
>
>                 Key: WFLY-5225
>                 URL: https://issues.jboss.org/browse/WFLY-5225
>             Project: WildFly
>          Issue Type: Bug
>          Components: CLI
>    Affects Versions: 10.0.0.Beta2
>            Reporter: Marek Kopecký
>            Assignee: Kabir Khan
>            Priority: Critical
>
> *Description of problem:*
> Server is not responding after attempt to set parent of profile to non-existent profile. 
> Server is not responding also after attempt to set parent of socket-binding-group to non-existent socket-binding-group.
> This works correctly on wildfly-core (2.0.0.Beta4). But this occurs on wildfly (master branch) and on EAP 7.0.0.DR9. It may be some integration issue.
> Priority of this jira tends to be critical.
> *How reproducible:*
> Always
> *Steps to Reproduce (profile):*
> # Get fresh EAP
> # ./domain.sh
> # ./jboss-cli.sh
> ## /profile=new:add()
> ## /profile=new:write-attribute(name=includes,value=\[nonsence\])
> ## /profile=new:remove
> *Actual results:*
> {noformat}
> [domain at localhost:9990 /] /profile=new:write-attribute(name=includes,value=[nonsence])
> {
>     "outcome" => "failed",
>     "failure-description" => "java.lang.NullPointerException:null"
> }
> [domain at localhost:9990 /] /profile=new:remove
> {noformat}
> * server needs to be restarted
> *Expected results:*
> {noformat}
> [domain at localhost:9990 /] /profile=new:write-attribute(name=includes,value=[nonsence])
> {
>     "outcome" => "failed",
>     "failure-description" => {"domain-failure-description" => "WFLYCTL0369: Required capabilities are not available:
>     org.wildfly.domain.profile.nonsence in context 'profiles'"},
>     "rolled-back" => true
> }
> [domain at localhost:9990 /] /profile=new:remove
> {
>     "outcome" => "success",
>     "result" => undefined,
>     "server-groups" => undefined
> }
> {noformat}
> *Steps to reproduce (socket-binding-group):*
> # Get fresh EAP
> # ./domain.sh
> # ./jboss-cli.sh
> ## /profile=new:add()
> ## /socket-binding-group=testt:add(default-interface=public,includes=\[nonsence\])
> ## /profile=new:remove



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)



More information about the jboss-jira mailing list