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


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


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();




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




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



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

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



I hope this helps.







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...