Support Article
Platform error occurs on logging out after requestor passivation
Summary
User logs into the environment through the Security Assertion Markup Language Single Sign-On (SAML SSO). However, the platform error screen displays when the user logs out after the requestor passivation. Log out does not occur as the session is still active.
Error Messages
Generic platform error
Log file error:
pega.pegarules.pub.PRException: Caught exception parsing XML stream
pega.pegarules.integration.engine.internal.mapping.xml.XMLParserBase.parseDocument(XMLParserBase.java:512) ~[printegrint.jar:?]
pega.pegarules.integration.engine.internal.mapping.ParseRuleUtils.invokeXMLParseRule(ParseRuleUtils.java:250) ~[printegrint.jar:?]
pega.pegarules.integration.engine.internal.util.PRParseUtils.parseXML(PRParseUtils.java:119) ~[printegrint.jar:?]
pegarules.generated.activity.ra_action_pyloadsamlassertion_b2a706cee649f05784b59248b048a498.step1_circum0(ra_action_pyloadsamlassertion_b2a706cee649f05784b59248b048a498.java:168) ~[?:?]
pegarules.generated.activity.ra_action_pyloadsamlassertion_b2a706cee649f05784b59248b048a498.perform(ra_action_pyloadsamlassertion_b2a706cee649f05784b59248b048a498.java:72) ~[?:?]
pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2695) ~[prprivate.jar:?]
pega.pegarules.exec.internal.declare.infengine.pages.DeclarativePageDirectoryImpl.runRule(DeclarativePageDirectoryImpl.java:1205) ~[prprivate.jar:?]
pega.pegarules.exec.internal.declare.infengine.pages.DeclarativePageDirectoryImpl.runLoadActivity(DeclarativePageDirectoryImpl.java:461) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.handler.ReadOnlyDataPageHandler.loadDataPage(ReadOnlyDataPageHandler.java:248) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.handler.ReadOnlyDataPageHandler.findDataPageInner(ReadOnlyDataPageHandler.java:477) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.handler.ReadOnlyDataPageHandler.findDataPage(ReadOnlyDataPageHandler.java:383) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.AbstractPageDirectory.findDataPageInCurrentDir(AbstractPageDirectory.java:949) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.AbstractPageDirectory.getDirectPage(AbstractPageDirectory.java:729) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.ThreadPageDir.getDirectPage(ThreadPageDir.java:366) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.base.ThreadPageDir.getPage(ThreadPageDir.java:324) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.PRThreadImpl.getPage(PRThreadImpl.java:568) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.Executable.findPage(Executable.java:2398) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.Executable.findPage(Executable.java:2367) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.Executable.findPage(Executable.java:2345) ~[prprivate.jar:?]
pega.pegarules.session.internal.mgmt.Executable.findPage(Executable.java:2327) ~[prprivate.jar:?]
pega.pegarules.integration.engine.internal.util.PRSAMLv2Utils.deleteSAMLSessionInfoRecord(PRSAMLv2Utils.java:1804) ~[printegrint.jar:?]
Steps to Reproduce
- Log in to the application
- Keep a session open for one hour or more (requestor passivation)
- Perform page navigation
- Click Logout. Generic platform error screen displays
Root Cause
The below data pages change to ReadOnly in PRPC 8.2 release:
- D_SAMLAssertionDataPage
- D_SamlSsoLoginInfo
A data page set to ReadOnly does not passivate. If the user waits till the passivation occurs and logs off, the logoff does not complete and the PRPC error occurs.
Resolution
This issue is scheduled to be addressed in Pega 8.2.4 patch release.
Alternatively,
Perform the following local-change:
- Copy the below data pages into the ruleset available to the unauthenticated users:
D_SAMLAssertionDataPage
D_SamlSsoLoginInfo
- Change the mode from ReadOnly to Editable
Published December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.