Home
Analytics
Java Security Exception with BIRT 4.4.0 runtime
bmac
<p>After upgrading to birt-runtime-osgi-4_4_0, I am getting Java Security Exceptions when running reports from a Java application. The stack trace follows:</p>
<p> </p>
<p>java.lang.SecurityException: class "org.mozilla.javascript.ScriptOrFnNode"'s sig<br>
ner information does not match signer information of other classes in the same p<br>
ackage<br>
at java.lang.ClassLoader.checkCerts(ClassLoader.java:943)<br>
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:657)<br>
at java.lang.ClassLoader.defineClass(ClassLoader.java:785)<br>
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14<br>
2)<br>
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)<br>
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)<br>
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)<br>
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)<br>
at java.security.AccessController.doPrivileged(Native Method)<br>
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)<br>
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)<br>
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)<br>
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)<br>
at org.mozilla.javascript.Context.compileImpl(Context.java:2362)<br>
at org.mozilla.javascript.Context.compileString(Context.java:1359)<br>
at org.mozilla.javascript.Context.compileString(Context.java:1348)<br>
at org.eclipse.birt.report.engine.javascript.JavascriptEngine.<clinit>(J<br>
avascriptEngine.java:80)<br>
at org.eclipse.birt.report.engine.javascript.JavascriptEngineFactory.cre<br>
ateScriptEngine(JavascriptEngineFactory.java:125)<br>
at org.eclipse.birt.core.script.ScriptContext.createEngine(ScriptContext<br>
.java:246)<br>
at org.eclipse.birt.core.script.ScriptContext.getScriptEngine(ScriptCont<br>
ext.java:235)<br>
at org.eclipse.birt.core.script.ScriptContext.compile(ScriptContext.java<br>
:152)<br>
at org.eclipse.birt.report.engine.executor.ExecutionContext.compile(Exec<br>
utionContext.java:779)<br>
at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(Exe<br>
cutionContext.java:713)<br>
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.handleS<br>
criptInternal(ScriptExecutor.java:118)<br>
at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.handleS<br>
cript(ScriptExecutor.java:105)<br>
at org.eclipse.birt.report.engine.script.internal.ReportScriptExecutor.h<br>
andleInitialize(ReportScriptExecutor.java:84)<br>
at org.eclipse.birt.report.engine.api.impl.EngineTask.loadDesign(EngineT<br>
ask.java:1962)<br>
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAnd<br>
RenderTask.java:99)<br>
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRe<br>
nderTask.java:77)<br>
at ReportList.run_birt(ReportList.java:778)<br>
at ReportList.run_report(ReportList.java:607)<br>
at ReportList.actionPerformed(ReportList.java:254)<br>
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:20<br>
18)<br>
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav<br>
a:2341)<br>
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel<br>
.java:402)<br>
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259<br>
)<br>
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL<br>
istener.java:252)<br>
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2<br>
89)<br>
at java.awt.Component.processMouseEvent(Component.java:6505)<br>
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)<br>
at java.awt.Component.processEvent(Component.java:6270)<br>
at java.awt.Container.processEvent(Container.java:2229)<br>
at java.awt.Component.dispatchEventImpl(Component.java:4861)<br>
at java.awt.Container.dispatchEventImpl(Container.java:2287)<br>
at java.awt.Component.dispatchEvent(Component.java:4687)<br>
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832<br>
)<br>
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)<br><br>
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)<br>
at java.awt.Container.dispatchEventImpl(Container.java:2273)<br>
at java.awt.Window.dispatchEventImpl(Window.java:2719)<br>
at java.awt.Component.dispatchEvent(Component.java:4687)<br>
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)<br>
at java.awt.EventQueue.access$200(EventQueue.java:103)<br>
at java.awt.EventQueue$3.run(EventQueue.java:688)<br>
at java.awt.EventQueue$3.run(EventQueue.java:686)<br>
at java.security.AccessController.doPrivileged(Native Method)<br>
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo<br>
main.java:76)<br>
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo<br>
main.java:87)<br>
at java.awt.EventQueue$4.run(EventQueue.java:702)<br>
at java.awt.EventQueue$4.run(EventQueue.java:700)<br>
at java.security.AccessController.doPrivileged(Native Method)<br>
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo<br>
main.java:76)<br>
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)<br>
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre<br>
ad.java:242)<br>
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.<br>
java:161)<br>
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre<br>
ad.java:150)<br>
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)<br><br>
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)<br><br>
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)</p>
<p> </p>
<p> </p>
<p>The class "org.mozilla.javascript.ScriptOrFnNode" is in the ReportEngine/plugins folder and is apparently not signed the same way as the other classes. Is this a problem with the distribution or must I configure something to make it work properly?</p>
<p> </p>
<p>I will appreciate any suggestions.</p>
<p> </p>
<p>Bmac</p>
<p> </p>
<p> </p>
Find more posts tagged with
Comments
mwilliams
<p>What version are you upgrading from? Where did you download the runtime from?</p>
bmac
<p>The Java application is running on a separate computer with Birt 3.7.2. I am setting up a new machine so I downloaded 4.4.0 and changed the Java code to point to the proper BIRT HOME. Everything else seems to be working correctly including Java, Eclipse, Birt Report Designer, and my application. I have not yet tried to download 3.7.2 to the new machine.</p>
<p> </p>
<p>My initial thought was that the files on the Georgia Tech mirror ( that was the location from which I downloaded the Birt runtime package ) were for some reason not signed correctly. I can try a different mirror if you will suggest one that you know is correct. Something else on the new machine may not be set up properly. Any suggestion will be appreciated.</p>
<p> </p>
<p>thanks,</p>
<p>bmac</p>
mwilliams
<p>I usually pick the Indiana University one. I have not tried the OSGi runtime in a while. Let me download the 4.4.0 runtime and write a simple java application to run from it. Do you get this issue if you run the code from an Eclipse Java project?</p>
<p> </p>
<p>You might also try BIRT 4.4.1. It was just released the other day.</p>
bmac
<p>This was not an Eclipse Java project, just hand coded Java. That may be a clue and I can try redoing it in Eclipse. One other possibility is that the system which works is using 32 bit software whereas the one that is failing uses 64 bit software. I am trying to make sure everything is consistent.</p>
<p> </p>
<p>I did try downloading 4.4.1 from Indiana University but got the same error. That probably rules out anything wrong on the Georgia Tech mirror.</p>
<p> </p>
<p>bmac</p>
bmac
<p>OK, I finally found the problem. There was an erroneous entry in CLASSPATH that pointed to an obsolete jar file. The error message was correct, I was looking in the wrong place.</p>
<p> </p>
<p>bmac</p>
twonjee2002
<p>I am having this same error, can you please guide me on how to detect the jar files causing the problem. I have tried to remove and replace the following jar file(org.mozilla.javascript.FunctionNode) but i still get the error message. Please help.</p>
<p> </p>
<p>class "org.mozilla.javascript.FunctionNode"'s signer information does not match signer information of other classes in the same package. Stacktrace follows:<br><br>
java.lang.reflect.InvocationTargetException: null<br>
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>
at java.lang.Thread.run(Thread.java:722)<br>
Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.<br>
at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2360)<br>
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191)<br>
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)</p>