https://issues.apache.org/bugzilla/show_bug.cgi?id=50775
Summary: JNDIRealm fails with ServiceUnavailableException and
NotContextException
Product: Tomcat 6
Version: 6.0.29
Platform: PC
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: Catalina
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Depends on: 33774
+++ This bug was initially created as a clone of Bug #33774 +++
JNDIRealm fails with ServiceUnavailableException and NotContextException
We are experiencing an issue very similar to the one reported in
https://issues.apache.org/bugzilla/show_bug.cgi?id=33774
After Tomcat is running for some period of time, any attempts to use the JNDI
Realm fail with a ServiceUnavailableException and NotContextException (see full
exception below). A restart of Tomcat is required to fix the problem. We only
see this issue on Linux (Linux details below). We are running the exact same
Tomcat binaries (not the native libraries of course) and configuration on
Windows 2003 R2 and AIX 5.3 and we don't see this issue. I added alternateURL
in hopes it might help, but the problem still exists.
My JNDI Realm Definition:
<Realm className="org.apache.catalina.realm.JNDIRealm"
connectionURL="ldap://ldap01:389"
alternateURL="ldap://ldap02:389"
connectionName="uid=ldapbind,cn=Applications,cn=MYSCOPE"
connectionPassword="********"
userBase="cn=MYSCOPE"
userSearch="(uid={0})"
userSubtree="true"
roleBase="cn=MYSCOPE"
roleSearch="(uniqueMember={0})"
roleSubtree="true"
roleName="cn"
/>
Tomcat Version Information:
Feb 14, 2011 5:12:15 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
...
Feb 14, 2011 5:12:19 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false],
random [true].
...
Feb 14, 2011 5:12:31 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
Java Version Information:
[root@AS01 bin]# ./java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)
Linux Version Information:
[root@AS01 ~]# cat /etc/redhat-release
CentOS release 5.3 (Final)
[root@AS01 ~]# uname -a
Linux AS01.dev.local 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:19:18 EDT 2009 i686
i686 i386 GNU/Linux
Feb 14, 2011 2:17:12 PM org.apache.catalina.realm.JNDIRealm authenticate
WARNING: Exception performing authentication
javax.naming.ServiceUnavailableException: ldap01:389; socket closed; remaining
name 'cn=MYSCOPE'
at com.sun.jndi.ldap.Connection.readReply(Connection.java:419)
at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:611)
at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:534)
at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1962)
at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1824)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1749)
at
com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
at
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
at
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)
at
javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)
at org.apache.catalina.realm.JNDIRealm.getUserBySearch(JNDIRealm.java:1340)
at org.apache.catalina.realm.JNDIRealm.getUser(JNDIRealm.java:1188)
at org.apache.catalina.realm.JNDIRealm.getUser(JNDIRealm.java:1147)
at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:1089)
at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:947)
at
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
at
org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:269)
at
org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)
at
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:662)
Feb 14, 2011 2:17:12 PM org.apache.catalina.realm.JNDIRealm authenticate
SEVERE: Exception performing authentication
javax.naming.NotContextException: Not an instance of DirContext
at
javax.naming.directory.InitialDirContext.getURLOrDefaultInitDirCtx(InitialDirContext.java:92)
at
javax.naming.directory.InitialDirContext.search(InitialDirContext.java:248)
at org.apache.catalina.realm.JNDIRealm.getUserBySearch(JNDIRealm.java:1340)
at org.apache.catalina.realm.JNDIRealm.getUser(JNDIRealm.java:1188)
at org.apache.catalina.realm.JNDIRealm.getUser(JNDIRealm.java:1147)
at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:1089)
at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:994)
at
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
at
org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:269)
at
org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)
at
org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:662)
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]