【发布时间】:2012-03-08 04:58:38
【问题描述】:
我的应用的所有版本突然停止工作。
类似于Unable to load several versions of AppEngine Project and Seeing HardDeadLineExceeded Exceptions
来自日志:
Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@7881db{/,/base/data/home/apps/[MY_APP]/946.357282374521459350}
com.google.apphosting.api.DeadlineExceededException: This request (d505d1e88148a047) started at 2012/03/08 04:17:00.300 UTC and was still executing at 2012/03/08 04:18:00.917 UTC.
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1200(ZipFile.java:57)
at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:476)
at java.util.zip.ZipFile$1.fill(ZipFile.java:259)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at java.io.DataInputStream.readFully(DataInputStream.java:195)
at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:482)
at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:33)
at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:1176)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:374)
at sun.misc.URLClassPath.findResource(URLClassPath.java:201)
at java.net.URLClassLoader$2.run(URLClassLoader.java:379)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:376)
at com.google.apphosting.runtime.security.UserClassLoader.findResource(UserClassLoader.java:723)
at java.lang.ClassLoader.getResource(ClassLoader.java:977)
at org.mortbay.resource.Resource.newSystemResource(Resource.java:203)
at org.mortbay.jetty.webapp.WebXmlConfiguration.configureDefaults(WebXmlConfiguration.java:159)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1230)
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:202)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171)
at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:422)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:695)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java:679)
C 2012-03-07 23:18:01.030
Uncaught exception from servlet
javax.servlet.UnavailableException: Initialization failed.
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:211)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171)
at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:422)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:695)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java:679)
Also, seen in browser:
Uncaught exception from servlet
javax.servlet.UnavailableException: Initialization failed.
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:211)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171)
at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:422)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:695)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java:679)
日志中的另一个错误:
2012-03-08 12:28:26.248 com.google.inject.internal.util.$FinalizableReferenceQueue$SystemLoader loadFinalizer:不允许访问系统类加载器。 我 2012-03-08 12:28:27.143 com.google.inject.internal.util.$FinalizableReferenceQueue :无法启动引用终结器线程。只有在创建新引用时才会进行引用清理。 java.lang.reflect.InvocationTargetException 在 com.google.appengine.runtime.Request.process-58eed86e9936f59f(Request.java) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:43) 在 com.google.inject.internal.util.$FinalizableReferenceQueue.(FinalizableReferenceQueue.java:124) 在 com.google.inject.internal.util.$MapMaker$QueueHolder.(MapMaker.java:787) 在 com.google.inject.internal.util.$MapMaker$WeakEntry.(MapMaker.java:946) 在 com.google.inject.internal.util.$MapMaker$Strength$1.newEntry(MapMaker.java:312) 在 com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:498) 在 com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:419) 在 com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2029) 在 com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:116) 在 com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:180) 在 com.google.inject.internal.Annotations.findBindingAnnotation(Annotations.java:161) 在 com.google.inject.internal.ProviderMethodsModule.getKey(ProviderMethodsModule.java:129) 在 com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:116) 在 com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:83) 在 com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:73) 在 com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) 在 com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:232) 在 com.google.inject.spi.Elements.getElements(Elements.java:101) 在 com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) 在 com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) 在 com.google.inject.Guice.createInjector(Guice.java:95) 在 com.google.inject.Guice.createInjector(Guice.java:72) 在 com.google.inject.Guice.createInjector(Guice.java:62) 在 [MYAPP].server.guice.GuiceInjectorFactory$GuiceBerry.getInjector(GuiceInjectorFactory.java:20) 在 [MYAPP].server.guice.GuiceInjectorFactory.getInjector(GuiceInjectorFactory.java:29) 在 com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45) 在 org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:136) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) 在 com.google.tracing.TraceContext.runInContext(TraceContext.java:695) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) 在 java.lang.Thread.run(Thread.java:679) 引起:java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission modifyThreadGroup) 在 java.security.AccessControlContext.checkPermission(AccessControlContext.java:355) 在 java.security.AccessController.checkPermission(AccessController.java:567) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 在 java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) 在 java.lang.Thread.init(Thread.java:353) 在 java.lang.Thread.(Thread.java:479) 在 com.google.inject.internal.util.$Finalizer.(Finalizer.java:92) 在 com.google.inject.internal.util.$Finalizer.startFinalizer(Finalizer.java:81) ... 42 更多 C 2012-03-08 12:28:59.290 servlet 未捕获的异常 com.google.apphosting.runtime.HardDeadlineExceededError:此请求 (58eed86e9936f59f) 开始于 2012/03/08 17:27:56.854 UTC,并且仍在 2012/03/08 17:28:59.245 UTC 执行。 在 java.io.FileInputStream.readBytes(本机方法) 在 java.io.FileInputStream.read(FileInputStream.java:231) 在 java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 在 java.io.BufferedInputStream.read1(BufferedInputStream.java:275) 在 java.io.BufferedInputStream.read(BufferedInputStream.java:334) 在 com.google.inject.internal.asm.$ClassReader.a(未知来源) 在 com.google.inject.internal.asm.$ClassReader.(未知来源) 在 com.google.inject.internal.util.$LineNumbers.(LineNumbers.java:62) 在 com.google.inject.internal.util.$StackTraceElements$1.apply(StackTraceElements.java:36) 在 com.google.inject.internal.util.$StackTraceElements$1.apply(StackTraceElements.java:33) 在 com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:549) 在 com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:419) 在 com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041) 在 com.google.inject.internal.util.$StackTraceElements.forMember(StackTraceElements.java:53) 在 com.google.inject.internal.Errors.formatSource(Errors.java:690) 在 com.google.inject.internal.Errors.format(Errors.java:555) 在 com.google.inject.ProvisionException.getMessage(ProvisionException.java:59) 在 java.lang.Throwable.getLocalizedMessage(Throwable.java:284) 在 java.lang.Throwable.toString(Throwable.java:360) 在 java.lang.String.valueOf(String.java:2838) 在 java.lang.StringBuffer.append(StringBuffer.java:236) 在 org.mortbay.component.AbstractLifeCycle.setFailed(AbstractLifeCycle.java:183) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:56) 在 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:202) 在 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171) 在 com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123) 在 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:422) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) 在 com.google.tracing.TraceContext.runInContext(TraceContext.java:695) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) 在 com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) 在 java.lang.Thread.run(Thread.java:679) 我 2012-03-08 12:28:59.323 此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,与您的应用程序的典型请求相比,此请求可能需要更长的时间并使用更多的 CPU。 2012-03-08 12:28:59.323 处理此请求的进程遇到问题,导致它退出。这可能会导致一个新进程被用于对您的应用程序的下一个请求。如果您经常看到此消息,则可能是在应用程序初始化期间引发了异常。 (错误代码 104)
【问题讨论】:
-
我也看到了,突然开始发生了。
-
请向谷歌填写错误报告
-
好像已经被举报了。 (几个月前)code.google.com/p/googleappengine/issues/detail?id=6246#c2