OneClick LDAP authentication fails and then works upon second attempt
search cancel

OneClick LDAP authentication fails and then works upon second attempt

book

Article ID: 439107

calendar_today

Updated On:

Products

Spectrum Network Observability

Issue/Introduction

When attempting to authenticate a user, Spectrum OneClick logs a `javax.naming.CommunicationException: Connection reset` error. This typically occurs during the `findUserGroup` operation when the connection to the Active Directory (AD) or LDAP server is abruptly closed by the remote peer or an intermediate network device.

 

Upon second attempt the login for the same user succeeds

 

The error in the tomcat log is:

2026-05-03 23:50:27,975 [https-jsse-nio-XXXX-exec-24] WARN  com.aprisma.errorlog - LDAP Connection problem in findUserGroup : javax.naming.CommunicationException: Connection reset [Root exception is java.net.SocketException: Connection reset]; remaining name 'DC=xx,DC=xxxx-xxx,DC=xxx'
 at java.naming/com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2031)
 at java.naming/com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1873)
 at java.naming/com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1798)
 at java.naming/com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:392)
 at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:358)
 at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:341)
 at java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:296)
 at com.aprisma.spectrum.app.web.servlet.container.SpectrumJNDIRealm.getUserBySearch(SpectrumJNDIRealm.java:1457)
 at com.aprisma.spectrum.app.web.servlet.container.SpectrumJNDIRealm.getUser(SpectrumJNDIRealm.java:1317)
 at com.aprisma.spectrum.app.web.servlet.container.SpectrumJNDIRealm.verifyUser(SpectrumJNDIRealm.java:1240)
 at com.aprisma.spectrum.app.web.servlet.container.SpectrumJNDIRealm.findUserGroup(SpectrumJNDIRealm.java:1675)
 at com.aprisma.spectrum.app.web.servlet.container.SecuritySpSSORB.initModelDomains(SecuritySpSSORB.java:1348)
 at com.aprisma.spectrum.app.web.servlet.container.SecuritySpSSORB.getUserRoles(SecuritySpSSORB.java:1767)
 at com.aprisma.tomcat.realm.SecurityRealm.authenticate(SecurityRealm.java:206)
 at org.apache.catalina.realm.CombinedRealm.authenticate(CombinedRealm.java:154)
 at com.aprisma.tomcat.authenticator.SpectrumLockOutRealm.authenticate(SpectrumLockOutRealm.java:108)
 at com.aprisma.tomcat.authenticator.SpectrumAuthenticator.doFormAuthentication(SpectrumAuthenticator.java:452)
 at com.aprisma.tomcat.authenticator.SpectrumAuthenticator.doAuthenticate(SpectrumAuthenticator.java:90)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:562)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:90)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:653)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1833)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
 at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:975)
 at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:493)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
 at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.net.SocketException: Connection reset
 at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328)
 at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355)
 at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808)
 at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
 at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484)
 at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478)
 at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70)
 at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1465)
 at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1069)
 at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:244)
 at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
 at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343)
 at java.naming/com.sun.jndi.ldap.Connection.run(Connection.java:895)
 ... 1 more

 

Environment

Dx NetOps Spectrum 25.4.2 and below

Cause

A network reset closes the connection

Resolution

Resolved in 25.4.3 (DE176066) and above.  Per Engineering: "Code changed to retry LDAP connection, now able to consistently login Spectrum with LDAP Integration."