Перестало работать приложение Google App Engine (Java) (все версии) - PullRequest
3 голосов
/ 08 марта 2012

Все версии моего приложения внезапно перестали работать.

Аналогично Невозможно загрузить несколько версий AppEngine Project и видеть исключения HardDeadLineExceeded

Из журналов:

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: Не разрешен доступ к загрузчику системных классов. I 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) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) at 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.tracingxtxtConteteTrace.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.barg.security: 549) на java.lang.ThreadGroup.checkAccess (ThreadGroup.java:315) на java.lang.Thread.init (Thread.java:353) на java.lang.Thread. (Thread.java:479) на ком.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 Необнаруженное исключение из сервлета 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) в орг.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:56) в org.mortbay.jetty.servlet.ServletHandler.initialize (ServletHandler.java:662) в org.mortbay.jetty.servlet.Context.startContext:140) в org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1250) в org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:517) в org.mortbay.jetty.ppt..doStart (WebAppContext.java:467) на org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) на com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:20.gav).apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:171) в com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAd123).на com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run (JavaRuntime.java:422) на com.google.tracing.TraceContext $ TraceContextRunnable.runInContext (TraceContext.java:449) на com.google.tracing.TraceConteunte.$ 1.run (TraceContext.java:455) по адресу com.google.tracing.TraceContext.runInContext (TraceContext.java:695) по адресу com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContextNoUnref (TraceCon3) at. (TraceCon3)..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) at java.lang.Thread.run (Thread.java:679) I 2012-03-08 12: 28: 59.323 Этот запрос вызвал запуск нового процесса для вашего приложения и, таким образом, вызвал код вашего приложения.быть загруженным в первый раз.Таким образом, этот запрос может занять больше времени и использовать больше ресурсов процессора, чем обычный запрос для вашего приложения.W 2012-03-08 12: 28: 59.323 Возникла проблема с процессом, который обработал этот запрос, в результате чего он завершился.Это может привести к использованию нового процесса для следующего запроса к вашему приложению.Если вы часто видите это сообщение, вы можете выдавать исключения во время инициализации приложения.(Код ошибки 104)

1 Ответ

0 голосов
/ 24 марта 2012

Это может быть вызвано тем, что ваше приложение слишком долго запускается.Хотя ваше приложение все еще инициализирует себя, оно превышает жесткий лимит времени для каждого запроса (30 секунд, но на практике, по-видимому, больше, чем 60 секунд).

Я также видел это, и я думаю, что этосочетание того, что ваше приложение дорого загружается, и что-то не так на стороне AppEngine;загрузка классов занимает больше времени, чем должна.Поэтому попробуйте уменьшить приложение или подождать, пока Google исправит основную проблему.

Сообщения журнала от com.google.inject.internal.util.$FinalizableReferenceQueue$SystemLoader loadFinalizer представляют собой красную сельдь, они нормальны при использовании Guice в AppEngine и не должны причинять вреда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...