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: dev@tomcat.apache.org ReportedBy: d...@danshome.net CC: shi1w...@gmail.com 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org