Question
StaticContentResolverImpl Session already invalidated errors in the Production logs
Could you please help understand the below mentioned correlated stack traces from the PEGA and Tomcat logs.
PEGA LOG:
2018-01-25 11:15:21,610 [0.140.72-8887-exec-9] [ ] [ ] [ ] (tent.StaticContentResolverImpl) ERROR - Caught unhandled error in StaticContentResolver handling request aInput = {}
com.pega.pegarules.pub.context.RequestorLockException: PRRuntimeException
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorOrThreadLocked(PRSessionProviderImpl.java:2290)
at com.pega.pegarules.exec.internal.basic.staticcontent.StaticContentResolverImpl.getRequestorHashInfomation(StaticContentResolverImpl.java:691)
at com.pega.pegarules.exec.internal.basic.staticcontent.StaticContentResolverImpl.getRequestorHashInfomation(StaticContentResolverImpl.java:682)
at com.pega.pegarules.exec.internal.basic.staticcontent.StaticContentResolverImpl.processRequest(StaticContentResolverImpl.java:610)
at com.pega.pegarules.exec.internal.basic.staticcontent.StaticContentResolverImpl.processRequest(StaticContentResolverImpl.java:500)
at com.pega.pegarules.exec.internal.basic.staticcontent.StaticContentResolverImpl.processRequest(StaticContentResolverImpl.java:496)
at com.pega.pegarules.web.staticcontent.StaticContentClient.getRequestorHashInfoForThisRequest(StaticContentClient.java:836)
at com.pega.pegarules.web.staticcontent.StaticContentClient.retrieveFile(StaticContentClient.java:408)
at com.pega.pegarules.web.impl.WebStandardImpl.runStaticContentRequest(WebStandardImpl.java:1265)
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:344)
at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:367)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:272)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:121)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doGet(WebStandardBoot.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:612)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.InterruptedException: Requestor has been destroyed or recycled
at com.pega.pegarules.session.internal.mgmt.PRRequestorImpl.lockAttempt(PRRequestorImpl.java:987)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.getLockOnRequestor(PRSessionProviderImpl.java:1366)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorOrThreadLocked(PRSessionProviderImpl.java:2270)
... 40 more
Tomcat log:
Jan 25, 2018 11:15:21 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
SEVERE: Problem during method invocation (doPost)
java.lang.IllegalStateException: removeAttribute: Session already invalidated
at org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1373)
at org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1348)
at org.apache.catalina.session.StandardSessionFacade.removeAttribute(StandardSessionFacade.java:171)
at com.pega.pegarules.web.impl.WebStandardImpl.sendOutput(WebStandardImpl.java:766)
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:405)
at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:367)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:272)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:121)
at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doGet(WebStandardBoot.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:612)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Hi,
This error can occur when a user attempts to click on an action from a browser session which was established in the prior running instance of the JVM. When Pega cannot locate the user's requestor (and it is not present since it was present in the previous running JVM) - this error occurs.