Bug 836056 - User cannot sign out with Fedora authentication
Summary: User cannot sign out with Fedora authentication
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Zanata
Classification: Retired
Component: Authentication-Fedora
Version: development
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 1.7
Assignee: Sean Flanigan
QA Contact: Ding-Yi Chen
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-28 01:27 UTC by Ding-Yi Chen
Modified: 2012-09-12 23:50 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 833673
Environment:
Last Closed: 2012-07-06 04:37:24 UTC
Embargoed:


Attachments (Terms of Use)
server.log (11.43 KB, application/octet-stream)
2012-06-28 01:43 UTC, Ding-Yi Chen
no flags Details

Description Ding-Yi Chen 2012-06-28 01:27:45 UTC
+++ 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.

Comment 1 Ding-Yi Chen 2012-06-28 01:29:02 UTC
This bug is clone for Zanata-1.7, as this bug still appeared in Zanata 1.7, Fedora authentication.

Comment 2 Ding-Yi Chen 2012-06-28 01:43:39 UTC
Created attachment 594895 [details]
server.log

Server log is attached when this bug happened.

Comment 3 Sean Flanigan 2012-07-03 05:29:21 UTC
I can't reproduce this as of Zanata version 1.7-SNAPSHOT (20120703-0952).

Comment 4 Ding-Yi Chen 2012-07-06 04:37:24 UTC
Seems it is working on 1.7-SNAPSHOT (20120626-0025) but no actual fix toward this bug. I hereby filed it as WORKSFORME


Note You need to log in before you can comment on or make changes to this bug.