Support Article

Row action throws error if grid page list source is work class

SA-22274

Summary



A repeating grid is configured with master detail, it has page list source of work class. Click on a row in the grid, it is actually supposed to expand however nothing happens and screen freezes, which is the issue.


Error Messages

2016-04-15 12:05:00,251 [ttp-apr-8282-exec-12] [TABTHREAD1] [                    ] [   SRA22865:01.01.01] (ngineinterface.service.HttpAPI) ERROR: com.pega.pegarules.pub.PRRuntimeError

  1. com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError

        at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:707)

        at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:435)

        at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.runActivities(HttpAPI.java:3283)

        at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:421)

        at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1188)

        at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:926)

        at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:811)

        at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequest(EngineAPI.java:330)

        at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.invoke(HttpAPI.java:847)

        at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315)

        at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)

        at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:240)

        at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngineInner(JNDIEnvironment.java:278)

        at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngine(JNDIEnvironment.java:223)

        at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:485)

        at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:290)

        at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:338)

        at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:379)

        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.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:118)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)

        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)

        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

        at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.IndexOutOfBoundsException: The Reference pyWorkPage.PL(2) is not valid. Accessing invalid index 2 whereas the list has 0 elements from Requestor : (H3C3C8F6DBC8F899526464AF72D0A0976:) , User ID : Admin@OA22865

        at com.pega.pegarules.data.internal.clipboard.ClipboardPropertyBase.handleIOOBException(ClipboardPropertyBase.java:2363)

        at com.pega.pegarules.data.internal.clipboard.ClipboardPropertyBase.getPropertyValue(ClipboardPropertyBase.java:2431)

        at com.pega.pegarules.data.internal.clipboard.PropertyReferenceImpl.doGet(PropertyReferenceImpl.java:1433)

        at com.pega.pegarules.data.internal.clipboard.PropertyReferenceImpl.doGet(PropertyReferenceImpl.java:1372)

        at com.pega.pegarules.data.internal.clipboard.PropertyReferenceImpl.doGet(PropertyReferenceImpl.java:1356)

        at com.pega.pegarules.data.internal.clipboard.PropertyReferenceImpl.get(PropertyReferenceImpl.java:1182)

        at com.pega.pegarules.session.internal.mgmt.Executable.getProperty(Executable.java:2241)

        at com.pegarules.generated.activity.ra_action_processaction_83e88f91347e8165b09189f7cb22193c.step13_circum0(ra_action_processaction_83e88f91347e8165b09189f7cb22193c.java:1477)

        at com.pegarules.generated.activity.ra_action_processaction_83e88f91347e8165b09189f7cb22193c.perform(ra_action_processaction_83e88f91347e8165b09189f7cb22193c.java:284)

        at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)

        at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10459)

        at com.pegarules.generated.activity.ra_action_pzprepareassignment_4a5f9403a07b27cfaf4667201e2097bd.step2_circum0(ra_action_pzprepareassignment_4a5f9403a07b27cfaf4667201e2097bd.java:270)

        at com.pegarules.generated.activity.ra_action_pzprepareassignment_4a5f9403a07b27cfaf4667201e2097bd.perform(ra_action_pzprepareassignment_4a5f9403a07b27cfaf4667201e2097bd.java:92)

        at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)

        at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:641)

        ... 45 more

Steps to Reproduce

  1. Include a page list, say pyWorkPage.PageListProperty. And this PageListProperty has pxObjClass of a work class(Any of classes inheritted from Work-).
  2. Use this pagelist property as source of repeat grid. And repeat grid is configured with Master detail (say expand pane).
  3. When one clicks on row of this grid, at run time screen freezes.

Root Cause



For work object bound sections including grids with source of pyWorkPage.PageListPropery, where PageListProperty has pxObjClass of a work class is not supported.

Resolution

Create a new TopLevelPage at run time and use TopLevelPage.PageListProperty.

Published April 22, 2016 - Updated October 8, 2020


50% found this useful

Have a question? Get answers now.

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