java.lang.SecurityException: SHA1 digest error for org/eclipse/jdt/internal/compiler/env/INameEnvironment.class

Bug #594316 reported by Tomek Ceszke on 2010-06-14
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
play framework
Fix Committed
Undecided
Unassigned

Bug Description

After update and build play sources I tried to update my application hosted on google app engine using, as always, appcfg tool.
On local environment application works good, but in production (gae env.) I get a 500 server error.
In logs I can find 2 following exceptions:

Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@1fc25e5{/,/base/data/home/apps/XXXXXXXX/1.342668315613922849}
java.lang.SecurityException: SHA1 digest error for org/eclipse/jdt/internal/compiler/env/INameEnvironment.class
 at com.google.appengine.runtime.Request.process-18590ed9c3cbb6ea(Request.java)
 at sun.security.util.ManifestEntryVerifier.verify(Unknown Source)
 at java.util.jar.JarVerifier.processEntry(Unknown Source)
 at java.util.jar.JarVerifier.update(Unknown Source)
 at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
 at sun.misc.Resource.getBytes(Unknown Source)
 at java.net.URLClassLoader.defineClass(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClassInternal(Unknown Source)
 at play.classloading.ApplicationClasses.<init>(ApplicationClasses.java:31)
 at play.Play.init(Play.java:181)
 at play.server.ServletWrapper.contextInitialized(ServletWrapper.java:54)
 at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
 at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
 at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
 at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
 at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
 at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
 at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:191)
 at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:168)
 at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
 at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:250)
 at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5838)
 at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5836)
 at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24)
 at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:398)
 at com.google.net.rpc.impl.Server$2.run(Server.java:852)
 at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56)
 at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:576)
 at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
 at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
 at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:442)
 at com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:319)
 at com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:290)
 at com.google.net.async.Connection.handleReadEvent(Connection.java:474)
 at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:831)
 at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207)
 at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:103)
 at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251)
 at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:413)
 at java.lang.Thread.run(Unknown Source)

and:

Uncaught exception from servlet
javax.servlet.UnavailableException: Initialization failed.
 at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:200)
 at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:168)
 at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
 at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:250)
 at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5838)
 at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5836)
 at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24)
 at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:398)
 at com.google.net.rpc.impl.Server$2.run(Server.java:852)
 at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56)
 at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:576)
 at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
 at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
 at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:442)
 at com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:319)
 at com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:290)
 at com.google.net.async.Connection.handleReadEvent(Connection.java:474)
 at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:831)
 at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207)
 at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:103)
 at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251)
 at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:413)
 at java.lang.Thread.run(Unknown Source)

Using play 1.1-unstable-localbuild from the newest sources, tried with gae module in version 1.0.1 and 1.0.2

torbjornvatn (torbjorn-vatn) wrote :

I'm using 1.1-unstable-r926 and gae module built from source and get the exact same error.

/torbjørn

Julien Richard-Foy (julien-rf) wrote :

Same problem with play-1.1-beta2, gae-1.0.3 module and appengine-java-sdk-1.3.7

alexei guevara (alexguev) wrote :

same here. I'm running play/gae on snow leopard.

alexei guevara (alexguev) wrote :

The issues is being caused by the jdt.core jar (org.eclipse.jdt.core_3.6.0.v_A56.jar) in the play/framework/lib folder which gae seems not to like because it is signed. All that is necessary to get the app working again is to unsign the jar and re-deploy.

how to unsign a jar - http://frank.neatstep.com/node/29

Changed in play:
status: New → Fix Committed
milestone: none → 1.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers