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