Error evaluating function 'urlforrecord' : Session is closed! (APNX-1-4198-000)

We are seeing some sporadic pink boxes related to record links from work flow tasks and Adhoc tasks/ Actions whenever user either trying to navigate the record summary dashboard or tries to jump to the related action page for the record in the context.

Looks like an issue with function urlforrecord() as we have the same error from multiple rules where urlforrecord() is used.

Do we  know the root cause for : Error evaluating function 'urlforrecord' : Session is closed! (APNX-1-4198-000)

console logs:

017-07-26 12:44:54,091 [[ACTIVE] ExecuteThread: '35' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR com.appiancorp.rest.shared.AppianExceptionMapper - Internal Server Error on REST API invocation.
com.appiancorp.process.expression.ExpressionRuntimeException$AppianExceptionProvider: Expression evaluation error in rule 'rule_child2' 
(called by rules 'rule!child1' > 'rule!parent') at function 'urlforrecord' [line 12]: Error evaluating function 'urlforrecord' : Session is closed! (APNX-1-4198-000)
	at com.appiancorp.process.expression.ExpressionRuntimeException.<init>(ExpressionRuntimeException.java:76)
	at com.appiancorp.core.expr.exceptions.AppianScriptException.<init>(AppianScriptException.java:25)
	at com.appiancorp.core.expr.exceptions.ParseException.<init>(ParseException.java:20)
	at com.appiancorp.core.expr.exceptions.FunctionException.<init>(FunctionException.java:15)
	at com.appiancorp.core.expr.exceptions.FunctionException.create(FunctionException.java:22)
	at com.appiancorp.core.expr.AppianScriptContextTop.evalExternalFunction0(AppianScriptContextTop.java:550)
	at com.appiancorp.core.expr.AppianScriptContextTop.evalExternalFunction(AppianScriptContextTop.java:461)
	at com.appiancorp.core.expr.AppianScriptContextChild.evalExternalFunction(AppianScriptContextChild.java:255)
	at com.appiancorp.core.expr.tree.FunctionCall$ExternalEvaluable.eval0(FunctionCall.java:524)
	at com.appiancorp.core.expr.DefaultEvaluable.eval(DefaultEvaluable.java:177)
	at com.appiancorp.core.expr.tree.FunctionCall.evalImmediate(FunctionCall.java:336)
	at com.appiancorp.core.expr.tree.FunctionCall.evalEvaluable(FunctionCall.java:307)
	at com.appiancorp.core.expr.tree.FunctionCall.evalWrapped(FunctionCall.java:372)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.Tree.eval0(Tree.java:250)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.If.evalInner(If.java:157)
	at com.appiancorp.core.expr.tree.If.eval0(If.java:65)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.evalWrapped(Tree.java:221)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:202)
	at com.appiancorp.core.expr.tree.With.evalBinding(With.java:78)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.processBindings(AbstractLetFunction.java:161)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.evaluateResult(AbstractLetFunction.java:78)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.eval00(AbstractLetFunction.java:60)
	at com.appiancorp.core.expr.tree.With.eval0(With.java:56)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalBody(Rule.java:896)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:584)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:624)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:630)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.ListAtIndices.evalWrapped(ListAtIndices.java:158)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.Tree.eval0(Tree.java:250)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.If.evalInner(If.java:135)
	at com.appiancorp.core.expr.tree.If.eval0(If.java:65)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.ListAtIndices.evalWrapped(ListAtIndices.java:158)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.Tree.eval0(Tree.java:250)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:630)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:630)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.If.evalInner(If.java:157)
	at com.appiancorp.core.expr.tree.If.eval0(If.java:65)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.ListAtIndices.evalWrapped(ListAtIndices.java:158)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.Tree.eval0(Tree.java:250)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:630)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.ListAtIndices.evalWrapped(ListAtIndices.java:158)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.Tree.eval0(Tree.java:250)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.getReturnValue(AbstractLetFunction.java:177)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.evaluateResult(AbstractLetFunction.java:85)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.eval00(AbstractLetFunction.java:60)
	at com.appiancorp.core.expr.tree.Load.eval0(Load.java:79)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalBody(Rule.java:896)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:584)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.ListAtIndices.evalWrapped(ListAtIndices.java:158)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.Tree.eval0(Tree.java:250)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:630)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.getReturnValue(AbstractLetFunction.java:177)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.evaluateResult(AbstractLetFunction.java:85)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.eval00(AbstractLetFunction.java:60)
	at com.appiancorp.core.expr.tree.Load.eval0(Load.java:79)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalBody(Rule.java:896)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:584)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsKeywords(Rule.java:630)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:574)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.rule.Rule.evalTreeOrValue(Rule.java:489)
	at com.appiancorp.core.expr.rule.Rule.cast(Rule.java:522)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsPositionalInternal(Rule.java:687)
	at com.appiancorp.core.expr.rule.Rule.prepareBindingsPositional(Rule.java:646)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:576)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:461)
	at com.appiancorp.core.expr.rule.Rule.evalWithMetrics(Rule.java:449)
	at com.appiancorp.core.expr.rule.Rule.eval(Rule.java:438)
	at com.appiancorp.core.expr.tree.FreeformRule.evalWrapped(FreeformRule.java:72)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.FreeformRule.eval0(FreeformRule.java:53)
	at com.appiancorp.core.expr.Tree.evalWrapped(Tree.java:221)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:202)
	at com.appiancorp.core.expr.tree.With.evalBinding(With.java:78)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.processBindings(AbstractLetFunction.java:161)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.evaluateResult(AbstractLetFunction.java:78)
	at com.appiancorp.core.expr.tree.AbstractLetFunction.eval00(AbstractLetFunction.java:60)
	at com.appiancorp.core.expr.tree.With.eval0(With.java:56)
	at com.appiancorp.core.expr.tree.TreeEvaluable.evalWrapped(TreeEvaluable.java:63)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:257)
	at com.appiancorp.core.expr.tree.SpecialFunction.eval0(SpecialFunction.java:61)
	at com.appiancorp.core.expr.Tree.eval(Tree.java:233)
	at com.appiancorp.core.expr.Parse.evalInner(Parse.java:302)
	at com.appiancorp.core.expr.Parse.eval(Parse.java:260)
	at com.appiancorp.sail.UiEvaluator$UserInterfaceGenerator.doSaveEvaluation(UiEvaluator.java:553)
	at com.appiancorp.sail.UiEvaluator$UserInterfaceGenerator.processOneSaveRequest(UiEvaluator.java:406)
	at com.appiancorp.sail.UiEvaluator$UserInterfaceGenerator.generateUserInterface0(UiEvaluator.java:290)
	at com.appiancorp.sail.UiEvaluator$UserInterfaceGenerator.generateUserInterface(UiEvaluator.java:280)
	at com.appiancorp.sail.UiEvaluator$UserInterfaceGenerator.generateUserInterface(UiEvaluator.java:271)
	at com.appiancorp.sail.FullEvaluator.doReEvaluation(FullEvaluator.java:65)
	at com.appiancorp.sail.ValueUiEvaluator.lambda$reeval$0(ValueUiEvaluator.java:130)
	at com.appiancorp.sail.TransactionalEvaluatorImpl.evaluateWithoutJtaTransaction(TransactionalEvaluatorImpl.java:85)
	at com.appiancorp.sail.TransactionalEvaluatorImpl.evaluate(TransactionalEvaluatorImpl.java:47)
	at com.appiancorp.sail.ValueUiEvaluator.reeval(ValueUiEvaluator.java:126)
	at com.appiancorp.sail.TvUiEvaluator.reeval(TvUiEvaluator.java:36)
	at com.appiancorp.sail.TvUiEvaluator.reeval(TvUiEvaluator.java:20)
	at com.appiancorp.sail.UiEvaluator.eval(UiEvaluator.java:124)
	at com.appiancorp.sail.UiServiceImpl.reevaluateUi0(UiServiceImpl.java:72)
	at com.appiancorp.sail.UiServiceImpl.reevaluateUi(UiServiceImpl.java:56)
	at com.appiancorp.uidesigner.TaskFormActionRequest.getUIFrameworkForm(TaskFormActionRequest.java:199)
	at com.appiancorp.uidesigner.TaskFormActionRequest.call0(TaskFormActionRequest.java:102)
	at com.appiancorp.uidesigner.TaskFormActionRequest.call0(TaskFormActionRequest.java:58)
	at com.appiancorp.uidesigner.AbstractActionRequest.call(AbstractActionRequest.java:24)
	at com.appiancorp.uidesigner.TaskFormSubmissionActionRequest.call0(TaskFormSubmissionActionRequest.java:96)
	at com.appiancorp.uidesigner.TaskFormSubmissionActionRequest.call0(TaskFormSubmissionActionRequest.java:56)
	at com.appiancorp.uidesigner.AbstractActionRequest.call(AbstractActionRequest.java:24)
	at com.appiancorp.rest.shared.WebSubmissionRequest.call0(WebSubmissionRequest.java:83)
	at com.appiancorp.rest.shared.WebSubmissionRequest.call0(WebSubmissionRequest.java:51)
	at com.appiancorp.uidesigner.AbstractActionRequest.call(AbstractActionRequest.java:24)
	at com.appiancorp.rest.task.TaskRestService.reevaluateFormExpectingNormal(TaskRestService.java:539)
	at sun.reflect.GeneratedMethodAccessor1565.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:234)
	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:100)
	at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)
	at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:38)
	at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)
	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:132)
	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch(DispatchProviderHelper.java:230)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178)
	at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:795)
	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
	at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:26)
	at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:40)
	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.tempo.util.PerformanceLogFilter.doFilter(PerformanceLogFilter.java:124)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.common.web.PathMatchExclusionFilter.doFilter(PathMatchExclusionFilter.java:68)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.security.web.FrameOptionsFilter.doFilter(FrameOptionsFilter.java:28)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.security.auth.ForceSetPasswordFilter.doFilter(ForceSetPasswordFilter.java:47)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
	at com.appiancorp.security.auth.activity.UserActivityFilter.doFilter(UserActivityFilter.java:46)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at com.appiancorp.security.auth.rememberme.CookieTheftRedirectFilter.doFilter(CookieTheftRedirectFilter.java:36)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:157)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:152)
	at com.appiancorp.security.csrf.CsrfChannelProcessingFilter.callSuperDoFilter(CsrfChannelProcessingFilter.java:106)
	at com.appiancorp.security.csrf.CsrfChannelProcessingFilter.doFilter(CsrfChannelProcessingFilter.java:92)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at com.appiancorp.security.auth.MobileClientValidationFilter.doFilter(MobileClientValidationFilter.java:47)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.common.web.HttpMethodOverrideFilter.doFilter(HttpMethodOverrideFilter.java:34)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.security.cors.CorsFilter.doFilter(CorsFilter.java:236)
	at com.appiancorp.security.cors.CorsFilter.doFilter(CorsFilter.java:211)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.security.auth.logging.AuthenticationLoggingFilter.doFilter(AuthenticationLoggingFilter.java:37)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.ap2.environment.EnvironmentFilter.doFilter(EnvironmentFilter.java:87)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.common.web.ThreadLocalRequestFilter.doFilter(ThreadLocalRequestFilter.java:34)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.common.web.WeblogicSessionAttributeClassLoaderRequestFilter.doFilter(WeblogicSessionAttributeClassLoaderRequestFilter.java:258)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.ap2.NullByteInjectionFilter.doFilter(NullByteInjectionFilter.java:32)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at com.appiancorp.ap2.EncodingFilter.doFilter(EncodingFilter.java:58)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3431)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3397)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
	at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
	at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2280)
	at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2196)
	at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
	at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1621)
	at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:256)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused by: org.hibernate.SessionException: Session is closed!
	at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:72)
	at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1466)
	at sun.reflect.GeneratedMethodAccessor527.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:345)
	at com.sun.proxy.$Proxy149.beginTransaction(Unknown Source)
	at com.appiancorp.rdbms.hb.DataSourceManagerHbImpl.beginTransaction(DataSourceManagerHbImpl.java:409)
	at com.appiancorp.security.user.service.UserServiceImpl.ensureUsersExist(UserServiceImpl.java:68)
	at com.appiancorp.security.user.service.UserServiceImpl.ensureUsersExist(UserServiceImpl.java:58)
	at com.appiancorp.security.user.service.EnsureCurrentUserIsInPrimaryDataSourceAspect$1.call(EnsureCurrentUserIsInPrimaryDataSourceAspect.java:37)
	at com.appiancorp.security.auth.SpringSecurityContextHelper.runAsAdmin(SpringSecurityContextHelper.java:94)
	at com.appiancorp.security.user.service.EnsureCurrentUserIsInPrimaryDataSourceAspect.ensureCurrentUserIsInPrimaryDataSource(EnsureCurrentUserIsInPrimaryDataSourceAspect.java:43)
	at sun.reflect.GeneratedMethodAccessor913.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:603)
	at org.springframework.aop.aspectj.AspectJMethodBeforeAdvice.before(AspectJMethodBeforeAdvice.java:40)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy316.get(Unknown Source)
	at com.appiancorp.expression.plugin.UrlForRecordExpression.urlforrecord(UrlForRecordExpression.java:38)
	at sun.reflect.GeneratedMethodAccessor1469.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.appiancorp.process.expression.CustomFunction$1.call(CustomFunction.java:765)
	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:25)
	at com.appiancorp.process.expression.CustomFunction.evaluate(CustomFunction.java:760)
	at com.appiancorp.process.expression.CustomFunction.evalDynamic(CustomFunction.java:211)
	at com.appiancorp.process.expression.CustomFunction.eval0(CustomFunction.java:180)
	at com.appiancorp.core.expr.DefaultEvaluable.eval(DefaultEvaluable.java:177)
	at com.appiancorp.process.expression.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:292)
	at com.appiancorp.core.expr.AppianScriptContextTop.evalExternalFunction0(AppianScriptContextTop.java:538)
	... 353 more
	

  • I'm not sure about session timeout but I can say one thing. That is

    "If a user does not have at least viewer rights to the record or record type in the returned URL, the user will see an error when trying to open the URL".
  • , the users have proper access to the records and i don't see access an issue here
  • Updating the RCA:

    We had a health check being setup for distributed servers as per the shared-logs design using NAS mounts. Once we roll back the shared-logs design to vanilla, no session is closed being reported so far.

    community.appian.com/.../appian-health-check
    To add, we don't have any permission issues while writing logs as Appian health check on premise plugin was able to collect all data metrics required, What we thought it can be slow NAS directory.

    Appian Support Response:
    "I went over the document with my team and we concluded that there is a chance that this configuration is connected to the issues. From previous cases we have found that similar behaviors occurred when the system has difficulty writing to certain key log files. In most cases the issue is due to insufficient permissions for the logs to be written. While in other cases the issue was that the I/O speed to the NAS ether slow or unstable which resulted in intermittent errors."

 Discussion posts and replies are publicly visible