Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-16244

external-context SocketException: Connection reset after timeout

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Naming
    • None
    • ---
    • ---

      create for active directory server an
        <external-context name="java:global/ldap/ad" module="org.jboss.as.naming" class="javax.naming.directory.InitialDirContext" cache="true">
                          <environment>
                              <property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
                              <property name="java.naming.provider.url" value="${ad.url}"/>
                              <property name="java.naming.security.authentication" value="simple"/>
                              <property name="java.naming.security.principal" value="${ad.principal}"/>
                              <property name="java.naming.security.credentials" value="${ad.password}"/>
                          </environment>
                      </external-context>

      Do a search in a Servlet:

       

      Context c = new InitialContext();

      Object o = c.lookup("java:global/ldap/ad");

      System.out.println(o);

      InitialDirContext ctx = (InitialDirContext)o;

      SearchControls searchControls = new SearchControls();
      searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
      searchControls.setReturningAttributes(new String[]{"uid","displayName", "cn", "sn", "mail", "description"});

      NamingEnumeration<SearchResult> e = ctx.search("*****", "cn=weberjn", searchControls);

      ctx.close();
      c.close();    

       

      Works as it should. Repeat a few times. Works.

      Leave the server running for an hour.

      Repeat. Now you get the Exception below.  With cache="false" there is no error.

      Problem seen in EAP 7.4 and reproduced in wildfly-26.0.1.Final

      11:42:58,664 ERROR [stderr] (default task-1) javax.naming.CommunicationException: Connection reset [Root exception is java.net.SocketException: Connec
      tion reset]; remaining name '*****'
      11:42:58,664 ERROR [stderr] (default task-1)    at java.naming/com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2031)
      11:42:58,664 ERROR [stderr] (default task-1)    at java.naming/com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1873)
      11:42:58,664 ERROR [stderr] (default task-1)    at java.naming/com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1798)
      11:42:58,664 ERROR [stderr] (default task-1)    at java.naming/com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:392)
      11:42:58,664 ERROR [stderr] (default task-1)    at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.j
      ava:358)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.j
      ava:341)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
      a:43)
      11:42:58,665 ERROR [stderr] (default task-1)    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      11:42:58,665 ERROR [stderr] (default task-1)    at org.jboss.as.naming@26.0.1.Final//org.jboss.as.naming.ExternalContextObjectFactory$CachedContext.in
      voke(ExternalContextObjectFactory.java:148)
      11:42:58,665 ERROR [stderr] (default task-1)    at org.jboss.as.naming@26.0.1.Final//javax.naming.directory.InitialDirContext$$$$Proxy1.search(Unknown
       Source)
      11:42:58,665 ERROR [stderr] (default task-1)    at deployment.jndiservlet.war//simple.JNDIServlet.doGet(JNDIServlet.java:78)
      11:42:58,665 ERROR [stderr] (default task-1)    at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
      11:42:58,665 ERROR [stderr] (default task-1)    at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
      11:42:58,665 ERROR [stderr] (default task-1)    at io.undertow.servlet@2.2.14.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(Servlet
      Handler.java:74)

       

       

       

            ropalka Richard Opalka
            Gerald.Rueck@kreditwerk.de Juergen Weber (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: