Local Data Error

6 views
Skip to first unread message

mugathur

unread,
Jul 14, 2009, 8:36:36 AM7/14/09
to Google Web Toolkit
I'm experiencing a strange set of behaviors and was wondering if
anyone had any ideas. I'm using the datastore to write out some user
data. When it's hosted on the actual app engine, everything works
just fine. However, when I run in hosted mode on my local machine,
the first time a query is made, it produces errors. The second time
is fine. So for every new query I make, if the inputs have been
queried before, it's fine, but if it's a new query, the first time,
it'll produce the following errors:

Jul 14, 2009 1:30:43 PM
com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: [1247574643932000] javax.servlet.ServletContext log: Exception
while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method
'public abstract com.hashbangtv.client.UserData
com.hashbangtv.client.UserService.AddUser
(com.hashbangtv.client.UserData)' threw an unexpected exception:
java.lang.NullPointerException: Name is null
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure
(RPC.java:360)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:546)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:166)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle
(DevAppEngineWebAppContext.java:54)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:306)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
at org.mortbay.jetty.HttpConnection$RequestHandler.content
(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:442)
Caused by: java.lang.NullPointerException: Name is null
at java.lang.Enum.valueOf(Unknown Source)
at com.google.appengine.api.datastore.dev.CompositeIndexManager
$IndexSource.valueOf(CompositeIndexManager.java:64)
at com.google.appengine.api.datastore.dev.CompositeIndexManager
$1.apply(CompositeIndexManager.java:154)
at com.google.appengine.api.datastore.dev.CompositeIndexManager
$1.apply(CompositeIndexManager.java:152)
at
com.google.appengine.api.datastore.dev.CompositeIndexManager.extractIndices
(CompositeIndexManager.java:459)
at
com.google.appengine.api.datastore.dev.CompositeIndexManager.updateIndexFile
(CompositeIndexManager.java:389)
at
com.google.appengine.api.datastore.dev.CompositeIndexManager.manageIndexFile
(CompositeIndexManager.java:375)
at
com.google.appengine.api.datastore.dev.CompositeIndexManager.processQuery
(CompositeIndexManager.java:205)
at com.google.appengine.api.datastore.dev.LocalDatastoreService$5.run
(LocalDatastoreService.java:687)
at java.security.AccessController.doPrivileged(Native Method)
at
com.google.appengine.api.datastore.dev.LocalDatastoreService.runQuery
(LocalDatastoreService.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
com.google.appengine.tools.development.ApiProxyLocalImpl.makeSyncCall
(ApiProxyLocalImpl.java:97)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:72)
at com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall
(DatastoreApiHelper.java:47)
at com.google.appengine.api.datastore.DatastoreServiceImpl
$PreparedQueryImpl.runQuery(DatastoreServiceImpl.java:310)
at com.google.appengine.api.datastore.DatastoreServiceImpl
$PreparedQueryImpl.access$100(DatastoreServiceImpl.java:240)
at com.google.appengine.api.datastore.DatastoreServiceImpl
$PreparedQueryImpl$1.iterator(DatastoreServiceImpl.java:269)
at
org.datanucleus.store.appengine.query.RuntimeExceptionWrappingIterable.iterator
(RuntimeExceptionWrappingIterable.java:42)
at org.datanucleus.store.appengine.query.StreamingQueryResult.<init>
(StreamingQueryResult.java:71)
at
org.datanucleus.store.appengine.query.DatastoreQuery.newStreamingQueryResultForEntities
(DatastoreQuery.java:268)
at
org.datanucleus.store.appengine.query.DatastoreQuery.fulfillEntityQuery
(DatastoreQuery.java:263)
at org.datanucleus.store.appengine.query.DatastoreQuery.performExecute
(DatastoreQuery.java:227)
at org.datanucleus.store.appengine.query.JDOQLQuery.performExecute
(JDOQLQuery.java:85)
at org.datanucleus.store.appengine.query.JDOQLQuery.performExecute
(JDOQLQuery.java:31)
at org.datanucleus.store.query.Query.executeQuery(Query.java:1466)
at org.datanucleus.store.query.Query.executeWithArray(Query.java:
1340)
at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:240)
at com.hashbangtv.server.UserServiceImpl.AddUser(UserServiceImpl.java:
72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:527)
... 25 more
The code I'm running is pretty straight forward:

PersistenceManager persistence_manager =
m_Factory.getPersistenceManager();
try
{
Query q = persistence_manager.newQuery(UserData.class,
"m_DisplayName == user_name");
q.declareParameters("String user_name");
Object result = q.execute(user_data.GetDisplayName());
}
finally
{
persistence_manager.close();
}

Does anyone have any insight on what's going on? It says there's a
null pointer exception very deep in code, but I don't think I have the
source for it. Thanks in advance. The two things that are throwing
me off are:

1. It only happens locally.
2. It only happens the first time for a given set of inputs.

-moo

Dalla

unread,
Jul 15, 2009, 4:51:45 AM7/15/09
to Google Web Toolkit
I really think we would need to see some code to figure out what´s
going on here

--Dalla
http://date-time.appspot.com/
Reply all
Reply to author
Forward
0 new messages