TheProjecter / vosao

Automatically exported from code.google.com/p/vosao
0 stars 0 forks source link

Null Pointer at filter.AbstractFilter.getDao(AbstractFilter.java:60) #468

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When the servers hosting Vosao CMS 0.9 are under heavy load the following 
exception are thrown which seem they are releated:

java.lang.NullPointerException
org.vosao.filter.AbstractFilter.getDao(AbstractFilter.java:60)

and

Uncaught exception from servlet
com.google.appengine.api.datastore.DatastoreTimeoutException: The datastore 
operation timed out, or the data was temporarily unavailable.

- The datastore exception should be just handled asking pleasantly from the 
user to try again or some other form instead of crashing the instance down.
- getDao() call fails because 
org.vosao.common.VosaoContext.getInstance(VosaoContext.java:110) doesn't 
initialize the object properly.

Original issue reported on code.google.com by pkasoo....@gmail.com on 30 Apr 2011 at 12:36

GoogleCodeExporter commented 9 years ago
1. Could you please provide more exception info from the log.
2. Are you sure that GAE Datastore wasn't in read only mode.

Original comment by kinyelo@gmail.com on 1 May 2011 at 11:20

GoogleCodeExporter commented 9 years ago
1.
      1.

      java.lang.NullPointerException
        at org.vosao.filter.AbstractFilter.getDao(AbstractFilter.java:60)
        at org.vosao.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:66)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.PluginCronFilter.doFilter(PluginCronFilter.java:85)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.LanguageFilter.doFilter(LanguageFilter.java:71)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.UpdateFilter.doFilter(UpdateFilter.java:78)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.InitFilter.doFilter(InitFilter.java:80)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.ContextFilter.doFilter(ContextFilter.java:72)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
        at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
        at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

      2. C2011-04-29 17:19:51.574

      Uncaught exception from servlet
      java.lang.NullPointerException
        at org.vosao.filter.AbstractFilter.getDao(AbstractFilter.java:60)
        at org.vosao.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:66)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.PluginCronFilter.doFilter(PluginCronFilter.java:85)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.LanguageFilter.doFilter(LanguageFilter.java:71)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.UpdateFilter.doFilter(UpdateFilter.java:78)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.InitFilter.doFilter(InitFilter.java:80)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.ContextFilter.doFilter(ContextFilter.java:72)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
        at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
        at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

      2.
      1.

   1.
      1.

      /_ah/cron/plugin
      com.google.appengine.api.datastore.DatastoreTimeoutException:
The datastore operation timed out, or the data was temporarily
unavailable.
        at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:46)
        at com.google.appengine.api.datastore.DatastoreApiHelper$1.convertException(DatastoreApiHelper.java:98)
        at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:69)
        at com.google.appengine.api.datastore.FutureHelper$CumulativeAggregateFuture.get(FutureHelper.java:136)
        at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:71)
        at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:32)
        at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:113)
        at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:110)
        at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:31)
        at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:110)
        at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:94)
        at com.google.apphosting.runtime.jetty.SessionManager.createSession(SessionManager.java:341)
        at com.google.apphosting.runtime.jetty.SessionManager$AppEngineSession.<init>(SessionManager.java:137)
        at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java:267)
        at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java:52)
        at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession(AbstractSessionManager.java:413)
        at org.mortbay.jetty.Request.getSession(Request.java:1242)
        at org.vosao.filter.LanguageFilter.doFilter(LanguageFilter.java:53)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.UpdateFilter.doFilter(UpdateFilter.java:78)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.InitFilter.doFilter(InitFilter.java:80)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.ContextFilter.doFilter(ContextFilter.java:72)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
        at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
        at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

      2. C2011-04-29 16:29:13.344

      Uncaught exception from servlet
      com.google.appengine.api.datastore.DatastoreTimeoutException:
The datastore operation timed out, or the data was temporarily
unavailable.
        at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:46)
        at com.google.appengine.api.datastore.DatastoreApiHelper$1.convertException(DatastoreApiHelper.java:98)
        at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:69)
        at com.google.appengine.api.datastore.FutureHelper$CumulativeAggregateFuture.get(FutureHelper.java:136)
        at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:71)
        at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:32)
        at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:113)
        at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:110)
        at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:31)
        at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:110)
        at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:94)
        at com.google.apphosting.runtime.jetty.SessionManager.createSession(SessionManager.java:341)
        at com.google.apphosting.runtime.jetty.SessionManager$AppEngineSession.<init>(SessionManager.java:137)
        at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java:267)
        at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java:52)
        at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession(AbstractSessionManager.java:413)
        at org.mortbay.jetty.Request.getSession(Request.java:1242)
        at org.vosao.filter.LanguageFilter.doFilter(LanguageFilter.java:53)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.UpdateFilter.doFilter(UpdateFilter.java:78)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.InitFilter.doFilter(InitFilter.java:80)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.vosao.filter.ContextFilter.doFilter(ContextFilter.java:72)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
        at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
        at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
        at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

      2.

GAE datastore wasn't in read only mode. It only makes sense when I went
through the code, the initialization of DAO doesn't happen when a new thread
is initialized.

Original comment by pkasoo....@gmail.com on 2 May 2011 at 1:20

GoogleCodeExporter commented 9 years ago
I suppose I've missed something. 
DAO is initialized in the BusinessImpl class and Business impl is initialized 
in the ContextFilter which is the first filter in the filters chain.

Original comment by kinyelo@gmail.com on 2 May 2011 at 7:12