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

Engine startup failed, evaluateWhen-Exception NPE

SA-10450

Summary



After upgrading to Pega 7.1.7 from PRPC 6.3 SP1 engine initilization failed.

Error Messages



2015-05-19 18:50:36,329 [ ] [  STANDARD] [                    ] [                    ] (      etier.impl.EngineStartup) ERROR   - PegaRULES initialization failed. Server: test.com
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
                at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:394)
                at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1905)
                at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:657)
...
Caused by: com.pega.pegarules.pub.runtime.IndeterminateConditionalException: Executable.evaluateWhen-Exception Encountered a :java.lang.NullPointerException
                at com.pega.pegarules.session.internal.mgmt.Executable.evaluateWhen(Executable.java:4101)
                at com.pega.pegarules.exec.internal.basic.dictionary.AccessInfoConclusion.evaluateConditions(AccessInfoConclusion.java:936)
                at com.pega.pegarules.exec.internal.basic.dictionary.AccessInfoConclusion.evaluate(AccessInfoConclusion.java:808)
                at com.pega.pegarules.session.internal.authorization.access.AccessEvaluator.haveAccess(AccessEvaluator.java:179)
                at com.pega.pegarules.session.internal.authorization.access.AccessEvaluator.haveAccessWithFrame(AccessEvaluator.java:607)
                at com.pega.pegarules.session.internal.authorization.Authorization.haveAccessWithFrame(Authorization.java:1913)
                at com.pega.pegarules.data.internal.access.Saver.checkSecurity(Saver.java:713)
                at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:602)
                at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4945)
                at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4931)
                at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4923)
                at com.pega.pegarules.exec.internal.basic.SystemSettingsImpl.setDynamic(SystemSettingsImpl.java:355)
                at com.pega.pegarules.cluster.internal.PRClusterImpl.getClusterName(PRClusterImpl.java:311)
                at com.pega.pegarules.cluster.internal.PRClusterHazelcastImpl.configureHazelcast(PRClusterHazelcastImpl.java:443)
                at com.pega.pegarules.cluster.internal.PRClusterHazelcastImpl.initialize(PRClusterHazelcastImpl.java:354)
                at com.pega.pegarules.cluster.internal.PRClusterImpl.getInstance(PRClusterImpl.java:133)
                at com.pega.pegarules.cluster.internal.PRClusterProviderImpl.getInstance(PRClusterProviderImpl.java:87)
                at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.joinCluster(PRNodeImpl.java:2336)
                at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.initializeSystem(PRNodeImpl.java:989)
                at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:373)
                ... 36 more
Caused by: java.lang.NullPointerException
                at com.pega.pegarules.generation.internal.PRGenProviderImpl.get(PRGenProviderImpl.java:474)
                at com.pega.pegarules.session.internal.mgmt.Executable.evaluateWhen(Executable.java:4051)
                ... 55 more



Steps to Reproduce



1. Upgrade from Pega 6.3 to Pega 7.1.7.
2. Start the Application server.


Root Cause



The root cause of this problem is a defect in application code/rules. The BATCH Requestor Type Is using COB:Administrators access group. Using access group "COB:Administrators" causes to fire the ‘pzsharedTenant’  when-rule, that in turns fails with the NPE since VTable has not been initialized at this point. As a best practice the startup process should not use the following roles: “PegaRULES:SysAdm4, COB:User1, COB:LEGUser1, COB:CreditUser1, PegaRULES:AutoTest, MS:Restricted, COB:Administrators”.

Below screen capture shows one of the BATCH requestor is using COB:Administratrators access group that uses one of the Roles mentioned above, which causes failure during engine startup.




Resolution



This issue is resolved through the following local-change:

Change the access group for the requestor to Out of The Box PRPC:Agent to resolve the issue.

Published February 29, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

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