By: Peter Uhre user 30 Aug 2016 at 4:46 a.m. CDT

4 Responses
Peter Uhre gravatar
While testing Gluu we see a lot of authentication failures in /opt/tomcat/logs/wrapper.log: ``` INFO | jvm 1 | 2016/08/30 08:55:20 | 2016-08-30 08:55:20,036 ERROR [org.xdi.oxauth.auth.Authenticator] INFO | jvm 1 | 2016/08/30 08:55:20 | java.lang.NullPointerException INFO | jvm 1 | 2016/08/30 08:55:20 | at org.xdi.oxauth.service.AuthenticationService.configureSessionUser(AuthenticationService.java:359) INFO | jvm 1 | 2016/08/30 08:55:20 | at sun.reflect.GeneratedMethodAccessor511.invoke(Unknown Source) INFO | jvm 1 | 2016/08/30 08:55:20 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) INFO | jvm 1 | 2016/08/30 08:55:20 | at java.lang.reflect.Method.invoke(Method.java:606) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.xdi.oxauth.service.AuthenticationService_$$_javassist_seam_42.configureSessionUser(AuthenticationService_$$_javassist_seam_42.java) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.xdi.oxauth.auth.Authenticator.userAuthenticationInteractive(Authenticator.java:299) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.xdi.oxauth.auth.Authenticator.authenticateImpl(Authenticator.java:136) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.xdi.oxauth.auth.Authenticator.authenticate(Authenticator.java:99) INFO | jvm 1 | 2016/08/30 08:55:20 | at sun.reflect.GeneratedMethodAccessor501.invoke(Unknown Source) INFO | jvm 1 | 2016/08/30 08:55:20 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) INFO | jvm 1 | 2016/08/30 08:55:20 | at java.lang.reflect.Method.invoke(Method.java:606) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.xdi.oxauth.auth.Authenticator_$$_javassist_seam_48.authenticate(Authenticator_$$_javassist_seam_48.java) INFO | jvm 1 | 2016/08/30 08:55:20 | at sun.reflect.GeneratedMethodAccessor500.invoke(Unknown Source) INFO | jvm 1 | 2016/08/30 08:55:20 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) INFO | jvm 1 | 2016/08/30 08:55:20 | at java.lang.reflect.Method.invoke(Method.java:606) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.el.parser.AstValue.invoke(AstValue.java:96) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) INFO | jvm 1 | 2016/08/30 08:55:20 | at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) INFO | jvm 1 | 2016/08/30 08:55:20 | at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) INFO | jvm 1 | 2016/08/30 08:55:20 | at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101) INFO | jvm 1 | 2016/08/30 08:55:20 | at javax.faces.component.UICommand.broadcast(UICommand.java:315) INFO | jvm 1 | 2016/08/30 08:55:20 | at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786) INFO | jvm 1 | 2016/08/30 08:55:20 | at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251) INFO | jvm 1 | 2016/08/30 08:55:20 | at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) INFO | jvm 1 | 2016/08/30 08:55:20 | at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) INFO | jvm 1 | 2016/08/30 08:55:20 | at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) INFO | jvm 1 | 2016/08/30 08:55:20 | at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.RewriteFilter.process(RewriteFilter.java:98) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.RewriteFilter.doFilter(RewriteFilter.java:57) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) INFO | jvm 1 | 2016/08/30 08:55:20 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) INFO | jvm 1 | 2016/08/30 08:55:20 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) INFO | jvm 1 | 2016/08/30 08:55:20 | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) INFO | jvm 1 | 2016/08/30 08:55:20 | at java.lang.Thread.run(Thread.java:745) INFO | jvm 1 | 2016/08/30 08:55:20 | 2016-08-30 08:55:20,036 INFO [org.xdi.oxauth.auth.Authenticator] Authentication failed for 'testuser_82' ``` The authentication failures are not reflected in the graph on the front page of the Gluu admin console. Is this a configuration issue, or could it be a bug in Gluu? We are running on a single-machine (4 cores / 7GB) out-of-the-box Gluu 2.4.4 with these modifications: In /opt/tomcat/conf/gluuTomcatWrapper.conf: ``` wrapper.java.initmemory=2048 wrapper.java.maxmemory=6144 ``` Sections removed from tomcat config files as specified in https://support.gluu.org/outages/invalid-stream-headers-after-update-2508 In /opt/tomcat/conf/server.xml under Connector with protocol="org.apache.coyote.http11.Http11Protocol": ``` maxThreads="10000" maxConnections="10000" ```

By Mohib Zico Account Admin 30 Aug 2016 at 5:13 a.m. CDT

Mohib Zico gravatar
Are you using any kind of external authentication?

By Peter Uhre user 30 Aug 2016 at 5:26 a.m. CDT

Peter Uhre gravatar
No. Just logging in to the Gluu admin console (requesting /identity/profile/person/view initially). We are doing several authentications simultaniously (load testing), and most of them result in an authentication success, but some fail.

By Mohib Zico Account Admin 30 Aug 2016 at 6:18 a.m. CDT

Mohib Zico gravatar
>> We are doing several authentications simultaniously (load testing), and most of them result in an authentication success, but some fail. Oh, load testing.... for load testing, there are bunch of places you need to tweak your Gluu Server like tomcat you share... then comes ldap tweaking ( including indexing and memory allocation ), httpd request etc. May be we will write a doc on this issue someday for community users and publish. For your 'failed users', you can also check ldap logs on why it's actually failing. for NPE... localhost and catalina will add few more muscles to troubleshoot issue.

By Michael Schwartz Account Admin 30 Aug 2016 at 11:14 a.m. CDT

Michael Schwartz gravatar
Right now we are load testing with Docker Edition, we'll hopefully have some interesting results in the next month or so. Also, keep in mind that OpenLDAP or RadiantLogic is a better database for high performance requirements (instead of OpenDJ).