GitHub user aschwarte10 added a comment to the discussion: [Bug] Unexpected 
session expiration behavior on ARM64 architecture (Concurrency Issue)

I now managed to get a trace (incl stacktraces) for the relevant session events 
(create, stop, expired) and the exception.

Maybe this gives some further inights

<details>

<summary>Click to expand logs</summary>

```
2026-01-12 10:10:20,562 INFO [qtp343856911-47] Session started: 
2faa7154-53c4-4cc2-a84d-2dc417424f07
....
2026-01-12 10:12:12,412 INFO [qtp343856911-248] Session stopped: 
2faa7154-53c4-4cc2-a84d-2dc417424f07
2026-01-12 10:12:12,412 TRACE [qtp343856911-248] Stack: 
java.lang.Exception
        at com.COMPANYNAME.security.SessionListeneer$1.onStop(...)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyStop(AbstractNativeSessionManager.java:202)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onInvalidation(AbstractValidatingSessionManager.java:184)
        at 
org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:299)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:151)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:149)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:153)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:250)
        at 
org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
        at 
org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
        at 
org.apache.shiro.subject.support.DelegatingSubject.getRunAsPrincipalsStack(DelegatingSubject.java:476)
        at 
org.apache.shiro.subject.support.DelegatingSubject.getPrincipals(DelegatingSubject.java:159)
        at 
org.apache.shiro.subject.support.DelegatingSubject.getPrincipal(DelegatingSubject.java:155)
        at ...
        at com.COMPANYNNAME.servlet.RedactedServlet.doPost(..)
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:547)
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
        at 
org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)
        at 
org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)
        at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
        at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
        at 
org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)
        at 
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at 
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:822)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:438)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
        at 
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
        at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1102)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)
        at org.eclipse.jetty.server.Server.handle(Server.java:182)
        at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:721)
        at 
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
        at java.base/java.lang.Thread.run(Thread.java:1474)
2026-01-12 10:12:12,414 INFO [qtp343856911-256] Session expired: 
2faa7154-53c4-4cc2-a84d-2dc417424f07
2026-01-12 10:12:12,414 TRACE [qtp343856911-256] Stack: 
java.lang.Exception
        at com.COMPANYNAME.security.SessionListeneer.onExpiration(...)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.notifyExpiration(AbstractNativeSessionManager.java:209)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.onExpiration(AbstractValidatingSessionManager.java:163)
        at 
org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onExpiration(DefaultWebSessionManager.java:293)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:144)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:149)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:153)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.touch(AbstractNativeSessionManager.java:232)
        at 
org.apache.shiro.session.mgt.DelegatingSession.touch(DelegatingSession.java:120)
        at 
org.apache.shiro.session.ProxiedSession.touch(ProxiedSession.java:100)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.updateSessionLastAccessTime(AbstractShiroFilter.java:330)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:377)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:822)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:438)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
        at 
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
        at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1102)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)
        at org.eclipse.jetty.server.Server.handle(Server.java:182)
        at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:721)
        at 
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
        at java.base/java.lang.Thread.run(Thread.java:1474)
2026-01-12 10:12:12,415 ERROR [qtp343856911-256] 
org.apache.shiro.web.servlet.AbstractShiroFilter - session.touch() method 
invocation has failed.  Unable to update the corresponding session's last 
access time based on the incoming request.
org.apache.shiro.session.ExpiredSessionException: Session with id 
[2faa7154-53c4-4cc2-a84d-2dc417424f07] has expired. Last access time: 1/12/26, 
10:12 AM.  Current time: 1/12/26, 10:12 AM.  Session timeout is set to 1800 
seconds (30 minutes)
        at 
org.apache.shiro.session.mgt.SimpleSession.validate(SimpleSession.java:297)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doValidate(AbstractValidatingSessionManager.java:192)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.validate(AbstractValidatingSessionManager.java:141)
        at 
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:149)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:153)
        at 
org.apache.shiro.session.mgt.AbstractNativeSessionManager.touch(AbstractNativeSessionManager.java:232)
        at 
org.apache.shiro.session.mgt.DelegatingSession.touch(DelegatingSession.java:120)
        at 
org.apache.shiro.session.ProxiedSession.touch(ProxiedSession.java:100)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.updateSessionLastAccessTime(AbstractShiroFilter.java:330)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:377)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)
        at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)
        at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:822)
        at 
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:438)
        at 
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
        at 
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
        at 
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1102)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:611)
        at org.eclipse.jetty.server.Server.handle(Server.java:182)
        at 
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:721)
        at 
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
        at 
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
        at java.base/java.lang.Thread.run(Thread.java:1474)
```

</details>


GitHub link: 
https://github.com/apache/shiro/discussions/2447#discussioncomment-15474880

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to