Support Article
Users were unable to login due to InvocationTargetException
SA-16554
Summary
Users are unable to login the PRPC to get PegaRULES log files"Unable to obtain build properties due to java.lang.reflect.InvocationTargetException: null", “Cannot load AssemblerInfoImpl class” error messages. Similar exception is thrown when the User trying to migrate a ruleset using PRPCUtils by shutting down the server instance. The Migration is failing with java.lang.ClassNotFoundException: com.pega.pegarules.generation.internal.AssemblerInfoImpl exception. Server instances don't not start up.
Error Messages
[11/8/15 4:39:14:898 CST] 000000e1 PRBootstrapIm E com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl Error initializing PRAppLoader
java.lang.ClassNotFoundException: com.pega.pegarules.generation.internal.AssemblerInfoImpl
at com.pega.pegarules.internal.bootstrap.phase2.PRBaseLoader.findClass(PRBaseLoader.java:312)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:703)
at java.lang.ClassLoader.loadClass(ClassLoader.java:682)
at com.pega.pegarules.internal.bootstrap.phase2.PRBaseLoader.loadClass(PRBaseLoader.java:237)
at java.lang.ClassLoader.loadClass(ClassLoader.java:665)
at com.pega.pegarules.bootstrap.loader.PRAppLoader.loadClass(PRAppLoader.java:772)
at com.pega.pegarules.bootstrap.loader.PRAppLoader.loadClass(PRAppLoader.java:649)
at com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl.getAssemblerHash(PRBootstrapImpl.java:300)
at com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl._finishInitialization_privact(PRBootstrapImpl.java:253)
at com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl.finishInitialization(PRBootstrapImpl.java:122)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.checkForStartup(PRBootstrap.java:652)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:376)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:216)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:265)
at com.pega.pegarules.api.util.BuildInfo.getBuildProperties(BuildInfo.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.ibm._jsp._error._jspService(_error.java:133)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
…at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
Steps to Reproduce
User is trying to migrate a ruleset using PRPCUtils by shutting down the server instance.
The migration process is failing with java.lang.ClassNotFoundException: com.pega.pegarules.generation.internal.AssemblerInfoImpl exception.
The server instances are not starting up now.
Root Cause
The error snippet points that the Assemblerinfoimpl.class is missing from the PR_ENGINECLASSES table. This is the same error which was noticed in the log files corresponding to the prpUtils run from the command-line to deploy the code.
[11/8/15 4:09:12:861 CST] 000000e0 PRBootstrapIm Z com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl PegaRULES classes will be loaded from the database
[11/8/15 4:09:12:940 CST] 000000e0 PRBootstrapIm E com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl Cannot load AssemblerInfoImpl class
java.lang.ClassNotFoundException: com.pega.pegarules.generation.internal.AssemblerInfoImpl
at com.pega.pegarules.internal.bootstrap.phase2.PRBaseLoader.findClass(PRBaseLoader.java:312)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:703)
at java.lang.ClassLoader.loadClass(ClassLoader.java:682)
This was confirmed by running the following SQL statement on the rules schema. There were no records in the PR_ENGINECLASSES table for 'AssemblerInfoImpl.class' entry. Improper schema migration has resulted the issue.
select * FROM PG68025RULESOWNER .pr_engineclasses where pzclass = 'AssemblerInfoImpl.class'
Resolution
The root cause of the error was mainly due to the missing records from the PR_ENGINECLASSES table. User has completed restoring rules schema from the pre-production environment to fix the same.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.