JayVora-SerpentCS / Jasperreports_odoo

Jasper Reports Engine for Odoo
http://www.serpentcs.com
81 stars 144 forks source link

Odoo 11 javaflow.Continuation.suspend error when printing subreports #106

Closed maiolif closed 2 years ago

maiolif commented 4 years ago

Step to recreate: with long subreports, specially when there are more than one subreports it happens that the module is giving this error:

odoo.exceptions.UserError: ('Report Error\n<Fault 0: "Failed to invoke method execute in class com.nantic.jasperreports.JasperServer: java.lang.NoSuchMethodError: \'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()\'">', '')

any suggestion?

JayVora-SerpentCS commented 4 years ago

@maiolif it should not happen for sure, but @hiren-serpentcs will take a look. Thanks for reporting.

maiolif commented 4 years ago

@dcorio @JayVora-SerpentCS thanks a lot. In case I could share a report generating that problem, but this is appening not for all records, only for long reports (I suppose where a page break is generated). On jasperstudio the report is being generated correctly. In the meanwhile I am investigating a turnaround: it seems a problem connected with a java library, disapperaring when its log is not active.

maiolif commented 4 years ago

hello @hiren-serpentcs, did you had the chance to check?

JayVora-SerpentCS commented 4 years ago

@hiren-serpentcs do check.

hiren-serpentcs commented 3 years ago

@maiolif,

Can you please share the jasper server log (jasper_reports/java/jasperserver.log) ? It seems like it's due to some java library

maiolif commented 3 years ago

Yes, of course, I will do it tomorrow. In the meanwhile I found that this issue is caused by reports with 2 or more subreports, error raise when one of those subreports requires to break into a new page.

maiolif commented 3 years ago

@hiren-serpentcs this is the log: Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.compilers.ReportExpressionEvaluationData at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:398) at java.base/java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:745) at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.resolveClass(ContextClassLoaderObjectInputStream.java:89) at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1965) at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1851) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2139) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1668) at java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2434) at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2328) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2166) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1668) at java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2434) at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2328) at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2166) at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1668) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:482) at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:440) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:278) ... 35 more 1179576 [XML-RPC-0] ERROR net.sf.jasperreports.engine.fill.JRFillSubreport - Fill 1: exception java.lang.NoSuchMethodError: 'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()' at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.suspend(JRContinuationSubreportRunner.java:79) at net.sf.jasperreports.engine.fill.FillerSubreportParent.suspendSubreportRunner(FillerSubreportParent.java:159) at net.sf.jasperreports.engine.fill.FillerSubreportParent.addPage(FillerSubreportParent.java:139) at net.sf.jasperreports.engine.fill.JRBaseFiller.addPageToParent(JRBaseFiller.java:1404) at net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalFiller.java:2153) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:2298) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:2387) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2633) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:791) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:252) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:387) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:736) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:95) at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170) at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129) at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102) at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.start(JRContinuationSubreportRunner.java:54) at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:853) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:542) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:438) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:413) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2551) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:984) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:880) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:281) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:106) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:387) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:109) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:863) at com.nantic.jasperreports.JasperServer.privateExecute(JasperServer.java:231) at com.nantic.jasperreports.JasperServer.execute(JasperServer.java:130) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:112) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:103) at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:43) at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:83) at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:191) at org.apache.xmlrpc.webserver.Connection.run(Connection.java:205) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:68) 1179577 [XML-RPC-0] ERROR org.apache.xmlrpc.server.XmlRpcStreamServer - execute: Error while performing request org.apache.xmlrpc.common.XmlRpcInvocationException: Failed to invoke method execute in class com.nantic.jasperreports.JasperServer: java.lang.NoSuchMethodError: 'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()' at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:126) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:103) at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:43) at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:83) at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:191) at org.apache.xmlrpc.webserver.Connection.run(Connection.java:205) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:68) Caused by: net.sf.jasperreports.engine.JRRuntimeException: java.lang.NoSuchMethodError: 'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()' at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:878) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:542) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:438) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:413) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2551) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:984) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:880) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:281) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:106) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:387) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:109) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:863) at com.nantic.jasperreports.JasperServer.privateExecute(JasperServer.java:231) at com.nantic.jasperreports.JasperServer.execute(JasperServer.java:130) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:112) ... 6 more Caused by: java.lang.NoSuchMethodError: 'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()' at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.suspend(JRContinuationSubreportRunner.java:79) at net.sf.jasperreports.engine.fill.FillerSubreportParent.suspendSubreportRunner(FillerSubreportParent.java:159) at net.sf.jasperreports.engine.fill.FillerSubreportParent.addPage(FillerSubreportParent.java:139) at net.sf.jasperreports.engine.fill.JRBaseFiller.addPageToParent(JRBaseFiller.java:1404) at net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalFiller.java:2153) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:2298) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:2387) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2633) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:791) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:252) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:387) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:736) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:95) at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170) at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129) at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102) at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.start(JRContinuationSubreportRunner.java:54) at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:853) ... 26 more Caused by: net.sf.jasperreports.engine.JRRuntimeException: java.lang.NoSuchMethodError: 'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()' at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:878) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:542) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:438) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:413) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2551) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:984) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:880) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:281) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:106) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:387) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:109) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:863) at com.nantic.jasperreports.JasperServer.privateExecute(JasperServer.java:231) at com.nantic.jasperreports.JasperServer.execute(JasperServer.java:130) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:112) at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:103) at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:43) at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:83) at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:191) at org.apache.xmlrpc.webserver.Connection.run(Connection.java:205) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:68) Caused by: java.lang.NoSuchMethodError: 'java.lang.Object org.apache.commons.javaflow.Continuation.suspend()' at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.suspend(JRContinuationSubreportRunner.java:79) at net.sf.jasperreports.engine.fill.FillerSubreportParent.suspendSubreportRunner(FillerSubreportParent.java:159) at net.sf.jasperreports.engine.fill.FillerSubreportParent.addPage(FillerSubreportParent.java:139) at net.sf.jasperreports.engine.fill.JRBaseFiller.addPageToParent(JRBaseFiller.java:1404) at net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalFiller.java:2153) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:2298) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:2387) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2633) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:791) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:252) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:387) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:736) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:95) at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170) at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129) at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102) at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.start(JRContinuationSubreportRunner.java:54) at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:853) ... 26 more

maiolif commented 3 years ago

@hiren-serpentcs here it seems that it was an issue related to older jasper servers. do you think it could be a solution to update it??

https://community.jaspersoft.com/jasperreports-library/issues/4009-0

hiren-serpentcs commented 3 years ago

@maiolif

You can place the jasper server subreport jar files into the java folder and check.

maiolif commented 3 years ago

@hiren-serpentcs do you mean the java folder inside module? or the java path in the company view. Anyway I tried both without effect.

maiolif commented 3 years ago

I have this error only when the subreport size is exceeding the page, and only when more than 1 subreport is in the report.

maiolif commented 3 years ago

@JayVora-SerpentCS @hiren-serpentcs solved by:

  1. deleting jasperreports-javaflow-6.5.1.jar
  2. killing the process

Many thanks to @dcorio

hiren-serpentcs commented 2 years ago

closing as the issue is resolved.

Thanks, @maiolif and @dcorio