+++ This bug was initially created as a clone of Bug #833673 +++ Description of problem: A user cannot sign out with Kerberos and Fedora authentication. Version-Release number of selected component (if applicable): Zanata version 1.7-SNAPSHOT (20120620-1212) Zanata version 1.6.1-SNAPSHOT (20120620-0001) How reproducible: Always Steps to Reproduce: 1. Sign it with any user. 2. Click Sign out Actual results: Web page showed: Current Errors: Unexpected error. Please try again. Expected results: Sign out without and problem. --- Additional comment from sflaniga on 2012-06-22 10:19:30 EST --- This seems to be the corresponding server stack trace: 2012-06-20 13:11:03,988 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Session event listener threw exception java.lang.NullPointerException at org.zanata.webtrans.server.TranslationWorkspaceManagerImpl.exitWorkspace(TranslationWorkspaceManagerImpl.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) at org.zanata.webtrans.server.TranslationWorkspaceManagerImpl_$$_javassist_seam_13.exitWorkspace(TranslationWorkspaceManagerImpl_$$_javassist_seam_13.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) at org.jboss.seam.Component.callComponentMethod(Component.java:2253) at org.jboss.seam.core.Events.raiseEvent(Events.java:85) at org.zanata.security.ZanataIdentity.logout(ZanataIdentity.java:116) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) at org.jboss.seam.Component.callComponentMethod(Component.java:2249) at org.jboss.seam.core.Events.raiseEvent(Events.java:85) at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:236) at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:295) at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:160) at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:59) at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702) at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592) at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:683) at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:668) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1327) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1612) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601) at java.lang.Thread.run(Thread.java:636) 2012-06-20 13:11:04,006 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Session event listener threw exception java.lang.IllegalStateException: Please end the HttpSession via org.jboss.seam.web.Session.instance().invalidate() at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:267) at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:160) at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:59) at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702) at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592) at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:683) at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:668) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1327) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1612) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601) at java.lang.Thread.run(Thread.java:636) 2012-06-20 13:13:04,047 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Session event listener threw exception java.lang.IllegalStateException: Please end the HttpSession via org.jboss.seam.web.Session.instance().invalidate() at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:267) at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:160) at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:59) at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702) at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592) at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:683) at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:668) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1327) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1612) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601) at java.lang.Thread.run(Thread.java:636) 2012-06-20 13:16:04,107 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Session event listener threw exception java.lang.IllegalStateException: Please end the HttpSession via org.jboss.seam.web.Session.instance().invalidate() at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:267) at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:160) at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:59) at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702) at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592) at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:683) at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:668) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1327) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1612) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601) at java.lang.Thread.run(Thread.java:636) --- Additional comment from sflaniga on 2012-06-22 17:39:31 EST --- https://github.com/zanata/zanata/commit/84c8c8e6fa7430999d69a269c6f989dd0c92aecb --- Additional comment from dchen on 2012-06-26 18:05:00 EST --- 1.6.1 Servers seems fixed. However, 1.7 servers still has this problem. REASSIGNED. --- Additional comment from sflaniga on 2012-06-27 10:35:05 EST --- Sorry, I forgot to merge the change into the master branch. It's there now. --- Additional comment from sflaniga on 2012-06-27 16:33:59 EST --- *** Bug 833639 has been marked as a duplicate of this bug. *** --- Additional comment from sflaniga on 2012-06-27 16:56:36 EST --- Note that this problem manifests with Fedora OpenID and with Kerberos ticket authentication, but not with basic access authentication, Nukes, or internal authentication. --- Additional comment from sflaniga on 2012-06-27 16:56:36 EST --- Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause Clicking sign-out on a Zanata server which uses Fedora or Kerberos ticket authentication Consequence User gets an error message when logging out, and the editor's Participants List keep showing the user as logged in Fix Sign-out code now uses the JAAS credentials' username instead of assuming JAAS principal is a username Result Sign-out proceeds without error; user is removed from the editor's Participants List --- Additional comment from dchen on 2012-06-28 11:24:37 EST --- With 1.7-SNAPSHOT (20120626-0025) servers, Kerberos is fixed, but not the Fedora authentication.
This bug is clone for Zanata-1.7, as this bug still appeared in Zanata 1.7, Fedora authentication.
Created attachment 594895 [details] server.log Server log is attached when this bug happened.
I can't reproduce this as of Zanata version 1.7-SNAPSHOT (20120703-0952).
Seems it is working on 1.7-SNAPSHOT (20120626-0025) but no actual fix toward this bug. I hereby filed it as WORKSFORME