Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

StackOverflowError exceptions in file listener processing

SA-39060

Summary



The user upgraded the Production environment from 7.1.8 to 7.2.1. After upgrade from Pega 7.1.8 to 7.2.1 the file listners are failing with StackOverflowError. The Filelistener is working on a csv file with 9607 records.

Error Messages



eg.1 :-
2017-02-21 15:41:26,510 [workmanager_PRPC : 0] [ STANDARD] [ ] ( services.file.FileListener) ERROR File.ABCFileListener|process|ABC5A37C65F88A1D3D9B959EB65DCBC23|1487687836127000 [email protected] - Caught throwable processing file1.csv
java.lang.StackOverflowError
at com.pega.pegarules.session.internal.authorization.context.custom.ManagedApplicationContextImpl.getDefineTimeWrapper(ManagedApplicationContextImpl.java:1017)
.... around 4000 times
at com.pega.pegarules.session.internal.authorization.context.custom.ManagedApplicationContextImpl.getDefineTimeWrapper(ManagedApplicationContextImpl.java:1017)
at com.pega.pegarules.session.internal.authorization.context.custom.ManagedApplicationContextImpl.<init>(ManagedApplicationContextImpl.java:102)
at com.pega.pegarules.session.internal.authorization.context.custom.SnapshotApplicationContextImpl.<init>(SnapshotApplicationContextImpl.java:47)
at com.pega.pegarules.session.internal.authorization.context.custom.ManagedApplicationContextFactory.createSnapshotApplicationContext(ManagedApplicationContextFactory.java:86)
at com.pega.pegarules.session.internal.authorization.context.ApplicationContextFactory.createSnapshotApplicationContext(ApplicationContextFactory.java:141)
at com.pega.pegarules.session.internal.authorization.SessionAuthorization.makeStateTransition(SessionAuthorization.java:674)
at com.pega.pegarules.session.internal.authorization.SessionAuthorization.addNewAccessGroups(SessionAuthorization.java:1238)
at com.pega.pegarules.data.internal.access.DatabaseImpl.noteOrganizationalChange(DatabaseImpl.java:3676)
at com.pega.pegarules.data.internal.access.DatabaseImpl.noteChange(DatabaseImpl.java:3399)
at com.pega.pegarules.data.internal.access.DatabaseImpl.notifyOtherSystemsAfterUpdates(DatabaseImpl.java:3114)
at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2833)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2415)
at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:679)
at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:1908)
at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4056)
at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4047)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.initializeUser(Authentication.java:1979)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.initializeUser(Authentication.java:1887)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.doAuthentication(Authentication.java:560)
at com.pega.pegarules.integration.engine.internal.MiscServiceUtils.performAuthentication(MiscServiceUtils.java:111)
at com.pega.pegarules.integration.engine.internal.MiscServiceUtils.performAuthentication(MiscServiceUtils.java:145)
at com.pega.pegarules.integration.engine.internal.services.file.RuleServiceFile.parseRecordAtTime(RuleServiceFile.java:1012)
at com.pega.pegarules.integration.engine.internal.services.file.RuleServiceFile.process(RuleServiceFile.java:1756)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.processOne(FileListener.java:1017)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.drainDirectory(FileListener.java:1259)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.run_(FileListener.java:1910)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:454)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:213)

eg.2 :-
2017-02-20 09:09:20,095 [orkmanager_PRPC : 19] [ STANDARD] [ PegaRULES:07.10] ( services.file.FileListener) ERROR File.ABCFileListener|process|A137B0A72A2D1C821BC16C64AECD698B5|1487577836945000 [email protected] - Caught throwable processing file25.csv
java.lang.StackOverflowError
at com.pega.pegarules.session.internal.authorization.context.custom.ManagedApplicationContextImpl.getApplicationPath(ManagedApplicationContextImpl.java:507)
... around 4000 times
at com.pega.pegarules.session.internal.authorization.context.custom.ManagedApplicationContextImpl.getApplicationPath(ManagedApplicationContextImpl.java:507)
at com.pega.pegarules.session.internal.authorization.SessionAuthorization.makeStateTransition(SessionAuthorization.java:645)
at com.pega.pegarules.session.internal.authorization.SessionAuthorization.addNewAccessGroups(SessionAuthorization.java:1238)
at com.pega.pegarules.data.internal.access.DatabaseImpl.noteOrganizationalChange(DatabaseImpl.java:3676)
at com.pega.pegarules.data.internal.access.DatabaseImpl.noteChange(DatabaseImpl.java:3399)
at com.pega.pegarules.data.internal.access.DatabaseImpl.notifyOtherSystemsAfterUpdates(DatabaseImpl.java:3114)
at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2833)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2415)
at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:679)
at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:1908)
at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4056)
at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4047)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.initializeUser(Authentication.java:1979)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.initializeUser(Authentication.java:1887)
at com.pega.pegarules.session.internal.mgmt.authentication.Authentication.doAuthentication(Authentication.java:560)
at com.pega.pegarules.integration.engine.internal.MiscServiceUtils.performAuthentication(MiscServiceUtils.java:111)
at com.pega.pegarules.integration.engine.internal.MiscServiceUtils.performAuthentication(MiscServiceUtils.java:145)
at com.pega.pegarules.integration.engine.internal.services.file.RuleServiceFile.parseRecordAtTime(RuleServiceFile.java:1012)
at com.pega.pegarules.integration.engine.internal.services.file.RuleServiceFile.process(RuleServiceFile.java:1756)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.processOne(FileListener.java:1017)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.drainDirectory(FileListener.java:1259)
at com.pega.pegarules.integration.engine.internal.services.file.FileListener.run_(FileListener.java:1910)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:454)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:213)


Steps to Reproduce



Run a Filelistener to process file with records in excess of 2000 records.


Root Cause



High Availability configuration in prconfig.xml were enabled on the servers. The issue was caused by setting "Authorization/RSLUpdateBehavior" setting to 'fixedreq'.

Resolution



Remove prconfig setting "Authorization/RSLUpdateBehavior".

Since users are logged out when perfoming rules deployment, it is safe to remove the setting "Authorization/RSLUpdateBehavior
".

Suggest Edit

Published June 16, 2017 - Updated October 8, 2020

Did you find this content helpful? Yes No

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us