-
Bug
-
Resolution: Done
-
Major
-
jboss-fuse-6.2
-
None
-
%
-
Under load periodically get the following exception
Caused by: javax.security.auth.login.LoginException: Can't get user jdoe roles: null
at org.apache.karaf.jaas.modules.ldap.LDAPLoginModule.doLogin(LDAPLoginModule.java:397)
at org.apache.karaf.jaas.modules.ldap.LDAPLoginModule.login(LDAPLoginModule.java:165)
at org.apache.karaf.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:83)[karaf-jaas-boot.jar:]
at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_75]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_75]
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:762)[:1.7.0_75]
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)[:1.7.0_75]
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:690)[:1.7.0_75]
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:688)[:1.7.0_75]
at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_75]
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:687)[:1.7.0_75]
at javax.security.auth.login.LoginContext.login(LoginContext.java:595)[:1.7.0_75]
at org.apache.activemq.security.JaasAuthenticationBroker.authenticate(JaasAuthenticationBroker.java:84)[171:org.apache.activemq.activemq-osgi:5.11.0.redhat-620143]
... 15 more
The user and password is correct and login appears to complete successfully many times BUT periodically throws the exception above. Issue only occurs sometimes under load.
From Debugging is seems the call to LDAPCache.getCache(env) at line 328 (below) in org.apache.karaf.jaas.modules.ldap.LDAPLoginModule can periodically return NULL causing a NullPointerException that results in the previous exception above.
String[] roles = LDAPCache.getCache(env).getUserRoles(userDN, new Callable<String[]>()