Jump to content
Changes to the Jaspersoft community edition download ×

VerifyError for JRBaseFiller on AS400 JDK142.


Recommended Posts

By: Tom - tomhippen

VerifyError for JRBaseFiller on AS400 JDK142.

2006-06-13 19:38

I have a report program running on the PC (JDK 1.4.2) but when I try to run it on an AS400 (also JDK 1.4.2) it fails with a VerifyError. The command and output are as follows:

 

java -Dos400.awt.headless=true runBTMReport

java.lang.VerifyError: net/sf/jasperreports/engine/fill/JRBaseFiller 0000 0000

at java.lang.Throwable.<init>(Throwable.java:195)

at java.lang.Error.<init>(Error.java:49)

at java.lang.VerifyError.<init>(VerifyError.java:34)

at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)

at runBTMReport.main(runBTMReport.java:20)

 

I've tried rebuilding JasperReports from source on the AS400, and also tried recompiling all of the .jasper files.

 

When the report program is run with the -verbose option, the last several lines are as follows:

 

LOADING CLASS net.sf.jasperreports.engine.fill.JRFillContext FROM /usr/local/java/btm/lib/jasperreports-1.2.2-as400jdk-1.4.2.jar

LOADING CLASS net.sf.jasperreports.engine.fill.JRBaseFiller$BoundElementMap FROM /usr/local/java/btm/lib/jasperreports-1.2.2-as40

0jdk-1.4.2.jar

LOADING CLASS net.sf.jasperreports.engine.fill.JREvaluationTime FROM /usr/local/java/btm/lib/jasperreports-1.2.2-as400jdk-1.4.2.j

ar

LOADING CLASS net.sf.jasperreports.engine.JRDataSource FROM /usr/local/java/btm/lib/jasperreports-1.2.2-as400jdk-1.4.2.jar

LOADING CLASS java.lang.VerifyError FROM /QIBM/ProdData/OS400/Java400/jdk/lib/rt.jar

 

So JasperReports is loading VerifyError right after JRDataSource. Could something be wrong with my data source when it runs on the AS400? This is the relevant code:

 

String fileName = "btmReport.jasper";

<...>

HashMap parameters = new HashMap();

parameters.put("CID","HTSCHI");

parameters.put("SUBREPORT_DIR","/usr/local/java/btm/");

<...>

DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());

Connection connection = DriverManager.getConnection("jdbc:as400://server","user","password");

JasperPrint print = JasperFillManager.fillReport(fileName,parameters,connection);

All of this works fine on the PC... any idea why it would fail on the AS400?

 

 

 

 

By: Teodor Danciu - teodord

RE: VerifyError for JRBaseFiller on AS400 JDK

2006-06-14 01:12

 

Hi,

 

If you are using JR 1.2.2 or later, you need

to put the commons-javaflow-20060411.jar in

the classpath of your application.

You can find it in the /lib directory of our project

distribution.

 

Also, are you sure the os400.awt.headless system

property exists? I only saw os400.awt.native and

java.awt.headless.

 

I hope this helps.

Teodor

 

 

 

 

 

By: Tom - tomhippen

RE: VerifyError for JRBaseFiller on AS400 JDK142.

2006-06-14 11:37

Hi Teodor

 

The commons-javaflow-20060411.jar is there, so that doesn't seem to be a problem, but you were right about the 'headless' property name --- there was no such thing as "os400.awt.headless"; it should have been "java.awt.headless". And it turns out that none of our machines have been updated with the patch necessary to use java.awt.headless on an AS400 (PTF 5722-JV1 SF99169), so there will be a delay....

 

Thanks for your help. I hope that patch takes care of it.

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...