Management console REST connector unexpected behaviour

Solution Verified - Updated -

Issue

When accessing management console REST API from Ruby's REST client, it failed after upgrading to EAP 6.4 CP10 (6.4.10) or later:

/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.9/lib/restclient/request.rb:216:in `transmit': Server broke connection (RestClient::ServerBrokeConnection)
        from /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.9/lib/restclient/request.rb:68:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.9/lib/restclient/request.rb:35:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.9/lib/restclient/resource.rb:71:in `post'
        from ./queryversion.rb:35:in `_call'
        from ./queryversion.rb:31:in `_operation'
        from ./queryversion.rb:23:in `read_attribute'
        from ./queryversion.rb:46

And enabling TRACE level logging for com.sun.net.httpserver shows the following NullPointerException in server.log:

FINER [com.sun.net.httpserver] (HttpManagementService-threads - 1) ServerImpl.Exchange (2): java.lang.NullPointerException
    at java.util.regex.Matcher.getTextLength(Matcher.java:1283) [rt.jar:1.8.0_121]
    at java.util.regex.Matcher.reset(Matcher.java:309) [rt.jar:1.8.0_121]
    at java.util.regex.Matcher.<init>(Matcher.java:229) [rt.jar:1.8.0_121]
    at java.util.regex.Pattern.matcher(Pattern.java:1093) [rt.jar:1.8.0_121]
    at org.jboss.com.sun.net.httpserver.BasicAuthenticator.authenticate(BasicAuthenticator.java:103)
    at org.jboss.as.domain.http.server.security.BasicAuthenticator._authenticate(BasicAuthenticator.java:108) [jboss-as-domain-http-interface-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1]
    at org.jboss.as.domain.http.server.security.BasicAuthenticator.authenticate(BasicAuthenticator.java:85) [jboss-as-domain-http-interface-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1]
    at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:64)
    at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
    at org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:710)
    at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
    at org.jboss.as.domain.http.server.XFrameHeaderFilter.doFilter(XFrameHeaderFilter.java:45) [jboss-as-domain-http-interface-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1]
    at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
    at org.jboss.as.domain.http.server.RealmReadinessFilter.doFilter(RealmReadinessFilter.java:48) [jboss-as-domain-http-interface-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1]
    at org.jboss.as.domain.http.server.DmrFailureReadinessFilter.doFilter(DmrFailureReadinessFilter.java:45) [jboss-as-domain-http-interface-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1]
    at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
    at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_121]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.2.Final-redhat-1.jar:2.1.2.Final-redhat-1]

Note:

  • The issue does not happens when accessing with curl command or web browser.
  • The issue does not happens with default digest authentication but it happens after changing manegement auth to ldap-auth, JAAS-auth or custom plug-in.

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP) 6.4.10 or later
  • Ruby
    • 1.6.9
  • REST

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.