cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Reports for Java SP29 runtime throws an error while genarting report for multiple records

0 Kudos
367

I have no issues with crystal for JDK runtime libraries (SP28) integrated into our java application. Simply upgrading it to SP29 without any code change causes issue while running the multi record pdf report either programatically or using the built-in viewer. It throws following error. please let me know if it is known issue.

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Index -1 out of bounds for length 0

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(SourceFile:238)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:148)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:129)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(SourceFile:112)

at com.gallerysystems.tms.core.service.impl.CrystalReportService.createPDF(CrystalReportService.java:702)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)

at jdk.proxy3/jdk.proxy3.$Proxy517.createPDF(Unknown Source)

at com.gallerysystems.tms.core.controller.CrystalReportController.renderCurrentSelectionReportPDF(CrystalReportController.java:230)

at com.gallerysystems.tms.core.controller.CrystalReportController$$FastClassBySpringCGLIB$$419abfe0.invoke(<generated>)

at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)

at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)

at com.gallerysystems.tms.base.aop.GSDBConnectionFailureRetryAdvice.proceed(GSDBConnectionFailureRetryAdvice.java:126)

at com.gallerysystems.tms.base.aop.GSDBConnectionFailureRetryAdvice.proceedControllerMethod(GSDBConnectionFailureRetryAdvice.java:110)

at jdk.internal.reflect.GeneratedMethodAccessor1267.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)

at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)

at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)

at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)

at com.gallerysystems.tms.core.controller.CrystalReportController$$EnhancerBySpringCGLIB$$9530e3fd.renderCurrentSelectionReportPDF(<generated>)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)

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

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

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

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

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

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

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

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

at com.gallerysystems.tms.base.security.AccessTokenAuthenticationFilter.doFilter(AccessTokenAuthenticationFilter.java:174)

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

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

at com.gallerysystems.tms.base.security.EspressoXAuthenticationFilter.doFilterInternal(EspressoXAuthenticationFilter.java:121)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)

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

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

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

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

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

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

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

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)

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

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

at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:433)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1787)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.base/java.lang.Thread.run(Thread.java:833)

Caused by: java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0

at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)

at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)

at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)

at java.base/java.util.Objects.checkIndex(Objects.java:359)

at java.base/java.util.ArrayList.get(ArrayList.java:427)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.FormattedObjectContainer.i(SourceFile:113)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ah.a(SourceFile:131)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.do(SourceFile:168)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.for(SourceFile:234)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.for(SourceFile:120)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.aa.a(SourceFile:64)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.a(SourceFile:41)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.d.for(SourceFile:355)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.aa.a(SourceFile:64)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.a(SourceFile:338)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.a(SourceFile:250)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.u.a(SourceFile:923)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.u.e(SourceFile:785)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.f.e(SourceFile:383)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.u.for(SourceFile:243)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.aa.a(SourceFile:64)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.a(SourceFile:243)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.a(SourceFile:210)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.v.a(SourceFile:185)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.v.a(SourceFile:230)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.for(SourceFile:363)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.for(SourceFile:134)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.for(SourceFile:120)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.aa.a(SourceFile:64)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.a(SourceFile:41)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.a(SourceFile:515)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.a(SourceFile:456)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.a(SourceFile:373)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ah.a(SourceFile:72)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ReportColumnFormatter.a(SourceFile:86)

at com.crystaldecisions.reports.formatter.formatter.paginator.SinglePageFormatter.a(SourceFile:333)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.for(SourceFile:363)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ai.for(SourceFile:134)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.for(SourceFile:120)

at com.crystaldecisions.reports.formatter.formatter.paginator.SinglePageFormatter.for(SourceFile:178)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.aa.a(SourceFile:64)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ColumnFormatter.a(SourceFile:41)

at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.do(SourceFile:737)

at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.Y(SourceFile:399)

at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.moveToPageN(SourceFile:339)

at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.do(SourceFile:677)

at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.formatPage(SourceFile:236)

at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:97)

at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:253)

at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.if(SourceFile:647)

at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.a(SourceFile:597)

at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(SourceFile:641)

at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(SourceFile:677)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1944)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:167)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:529)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:526)

at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:525)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:424)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:352)

at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)

at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)

at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)

at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)

at com.crystaldecisions.sdk.occa.report.application.dt.a(SourceFile:186)

at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(SourceFile:1558)

at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(SourceFile:337)

at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(SourceFile:224)

... 85 common frames omitted

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

I am using JDK 17. I see the same issue reported be someone else.

https://answers.sap.com/questions/13800375/crystal-reports-java-exception-when-using-jdk-17.html

clara_sanchez
Explorer
0 Kudos

Hi, i'm having the same problem. Did you find a solution?

Clara

clara_sanchez
Explorer
0 Kudos

How do you make it work JDK17 and SP28? I'm facing other issues.