Bug 836056 - User cannot sign out with Fedora authentication
User cannot sign out with Fedora authentication
Status: CLOSED WORKSFORME
Product: Zanata
Classification: Community
Component: Authentication-Fedora (Show other bugs)
development
Unspecified Unspecified
unspecified Severity high
: ---
: 1.7
Assigned To: Sean Flanigan
Ding-Yi Chen
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-06-27 21:27 EDT by Ding-Yi Chen
Modified: 2012-09-12 19:50 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 833673
Environment:
Last Closed: 2012-07-06 00:37:24 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Ding-Yi Chen 2012-06-27 21:27:45 EDT
+++ 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@redhat.com 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@redhat.com on 2012-06-22 17:39:31 EST ---

https://github.com/zanata/zanata/commit/84c8c8e6fa7430999d69a269c6f989dd0c92aecb

--- Additional comment from dchen@redhat.com 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@redhat.com 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@redhat.com on 2012-06-27 16:33:59 EST ---

*** Bug 833639 has been marked as a duplicate of this bug. ***

--- Additional comment from sflaniga@redhat.com 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@redhat.com 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@redhat.com 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-27 21:29:02 EDT
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-27 21:43:39 EDT
Created attachment 594895 [details]
server.log

Server log is attached when this bug happened.
Comment 3 Sean Flanigan 2012-07-03 01:29:21 EDT
I can't reproduce this as of Zanata version 1.7-SNAPSHOT (20120703-0952).
Comment 4 Ding-Yi Chen 2012-07-06 00:37:24 EDT
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.