I have an application that has been deployed and running for several months. Yesterday it began throwing the error java.lang.VerifyError. No new deployments or changes in usage on my side. The code throwing the error is in this method...
/** * Retrieve a list of Expense depending on the Dates and Vendor passed in. There will be two * execution paths because Vendor does not need to be passed in as a filter. */ @SuppressWarnings("unchecked") //query is against Expense.class so it will return List<Expense> public List<steveshrader.budget.client.dto.Expense> getExpenses(Date startDate, Date endDate, String vendor) { List<steveshrader.budget.client.dto.Expense> dtoExpenses = new ArrayList<steveshrader.budget.client.dto.Expense>(); String userId = getUserId(); if(userId != null) { List<Expense> expenses = null; PersistenceManager pm = PMF.get().getPersistenceManager(); Query query = pm.newQuery(Expense.class); query.declareImports("import java.util.Date"); query.setOrdering("date asc"); String queryFilter = "userId == userIdParam && date >= startDateParam && date <= endDateParam"; Map queryParameters = new HashMap(); queryParameters.put("userIdParam", userId); queryParameters.put("startDateParam", startDate); queryParameters.put("endDateParam", endDate); if(vendor != null && vendor.trim().length() > 0) { //if a vendor passed in queryFilter = queryFilter + " && vendor == vendorParam"; queryParameters.put("vendorParam", vendor); } query.setFilter(queryFilter); expenses = (List<Expense>) query.executeWithMap(queryParameters); for(Expense e : expenses) { dtoExpenses.add(new steveshrader.budget.client.dto.Expense(e.getId(), e.getDate(), e.getAmount(), e.getVendor(), e.getExpenseType(), e.getPaymentType())); } pm.close(); } return dtoExpenses; } The complete stack trace is... javax.servlet.ServletContext log: Exception while dispatching incoming RPC call com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.util.List steveshrader.budget.client.BudgetService.getExpenses(java.util.Date,java.util.Date,java.lang.String)' threw an unexpected exception: java.lang.VerifyError: org/datanucleus/ store/appengine/query/StreamingQueryResult$1 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.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java: 97) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1084) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java: 35) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1084) 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.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java: 238) 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.headerComplete(HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java: 76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java: 135) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java: 235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5485) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5483) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java: 24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 363) at com.google.net.rpc.impl.Server$2.run(Server.java:837) at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java: 56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java: 536) at com.google.net.rpc.impl.Server.startRpc(Server.java:792) at com.google.net.rpc.impl.Server.processRequest(Server.java:367) at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java: 448) 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: 774) at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java: 205) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java: 251) at com.google.apphosting.runtime.JavaRuntime $RpcRunnable.run(JavaRuntime.java:394) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.VerifyError: org/datanucleus/store/appengine/ query/StreamingQueryResult$1 at org.datanucleus.store.appengine.query.StreamingQueryResult.listIterator(StreamingQueryResult.java: 128) at org.datanucleus.store.appengine.query.StreamingQueryResult.iterator(StreamingQueryResult.java: 120) at steveshrader.budget.server.BudgetServiceImpl.getExpenses(BudgetServiceImpl.java: 189) 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(Method.java:43) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java: 527) ... 45 more Thanks for any help! Steve -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.