You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shiro.apache.org by "Les Hazlewood (JIRA)" <ji...@apache.org> on 2013/05/05 00:42:16 UTC

[jira] [Commented] (SHIRO-388) Stackoverflow org.apache.shiro.session.SessionListener.onStop()

    [ https://issues.apache.org/jira/browse/SHIRO-388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649193#comment-13649193 ] 

Les Hazlewood commented on SHIRO-388:
-------------------------------------

Test added to the DefaultSessionManagerTest class to assert the correct behavior: testSessionListenerStopNotificationWithReadAttribute
                
> Stackoverflow org.apache.shiro.session.SessionListener.onStop()
> ---------------------------------------------------------------
>
>                 Key: SHIRO-388
>                 URL: https://issues.apache.org/jira/browse/SHIRO-388
>             Project: Shiro
>          Issue Type: Bug
>          Components: Session Management
>    Affects Versions: 1.2.1
>         Environment: Tomcat, Struts framework
>            Reporter: Arvind S
>             Fix For: 1.2.2, 1.3.0
>
>
> While trying to access the session variable in the Sessionlistener onStop() method cyclic call happens and ends with stack overflow . just sent the part of the stacktrace. few lines get repeated lot and ends with exception
> SEVERE: Servlet.service() for servlet jsp threw exception
> java.lang.StackOverflowError
> 	at java.text.SimpleDateFormat.zeroPaddingNumber(Unknown Source)
> 	at java.text.SimpleDateFormat.subFormat(Unknown Source)
> 	at java.text.SimpleDateFormat.format(Unknown Source)
> 	at java.text.SimpleDateFormat.format(Unknown Source)
> 	at java.text.DateFormat.format(Unknown Source)
> 	at org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternParser.java:443)
> 	at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:65)
> 	at org.apache.log4j.PatternLayout.format(PatternLayout.java:506)
> 	at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310)
> 	at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
> 	at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
> 	at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
> 	at org.apache.log4j.Category.callAppenders(Category.java:206)
> 	at org.apache.log4j.Category.forcedLog(Category.java:391)
> 	at org.apache.log4j.Category.debug(Category.java:260)
> 	at com.stutzen.abc.common.LoggerManager.writeHelperInfo(LoggerManager.java:52)
> 	at com.stutzen.abc.shiro.SessionListener.onStop(SessionListener.java:37)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyStop(AbstractNativeSessionManager.java:158)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onInvalidation(AbstractValidatingSessionManager.java:174)
> 	at org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:221)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:148)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:120)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
> 	at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
> 	at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
> 	at com.stutzen.abc.utils.CUtils.getSessionAttribute(CUtils.java:279)
> 	at com.stutzen.abc.shiro.SessionListener.setRequestEmployeeStatus(SessionListener.java:47)
> 	at com.stutzen.abc.shiro.SessionListener.onStop(SessionListener.java:38)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyStop(AbstractNativeSessionManager.java:158)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onInvalidation(AbstractValidatingSessionManager.java:174)
> 	at org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:221)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:148)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:120)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
> 	at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
> 	at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
> 	at com.stutzen.abc.utils.CUtils.getSessionAttribute(CUtils.java:279)
> 	at com.stutzen.abc.shiro.SessionListener.setRequestEmployeeStatus(SessionListener.java:47)
> 	at com.stutzen.abc.shiro.SessionListener.onStop(SessionListener.java:38)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyStop(AbstractNativeSessionManager.java:158)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onInvalidation(AbstractValidatingSessionManager.java:174)
> 	at org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:221)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:148)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:120)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
> 	at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
> 	at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
> 	at com.stutzen.abc.utils.CUtils.getSessionAttribute(CUtils.java:279)
> 	at com.stutzen.abc.shiro.SessionListener.setRequestEmployeeStatus(SessionListener.java:47)
> 	at com.stutzen.abc.shiro.SessionListener.onStop(SessionListener.java:38)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyStop(AbstractNativeSessionManager.java:158)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onInvalidation(AbstractValidatingSessionManager.java:174)
> 	at org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:221)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:148)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:120)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
> 	at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
> 	at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
> 	at com.stutzen.abc.utils.CUtils.getSessionAttribute(CUtils.java:279)
> 	at com.stutzen.abc.shiro.SessionListener.setRequestEmployeeStatus(SessionListener.java:47)
> 	at com.stutzen.abc.shiro.SessionListener.onStop(SessionListener.java:38)
> 	at org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyStop(AbstractNativeSessionManager.java:158)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onInvalidation(AbstractValidatingSessionManager.java:174)
> 	at org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:221)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:148)
> 	at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:120)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira