Unfortunately I can't give any specific dates. You could try extrapolating
from our historic release schedule.

If this is a show-stopper for you, you can patch
org.codehaus.jackson.map.util.ClassUtil.isLocalType to add a try-catch block
around the call to Class.getEnclosingMethod():

Method enclosingMethod = null;
try {
  enclosingMethod = someClass.getEnclosingMethod();
} catch (NullPointerException e) {
  // Temporary workaround for App Engine bug.
  // If an NPE was thrown, then enclosingMethod was going to be null anyway.
}

On Tue, Oct 27, 2009 at 3:16 PM, thol01 <[email protected]> wrote:

>
> Thanks for the fast reply! :)
>
> When will this be? This is a show stopper for me.
>
> Best Regards
> Thomas
>
> On 27 Okt, 19:45, Toby Reyelts <[email protected]> wrote:
> > Thanks for the report Thomas. It's a known issue that will be fixed in
> the
> > next update.
> >
> >
> >
> > On Tue, Oct 27, 2009 at 10:00 AM, thol01 <[email protected]> wrote:
> >
> > > Hi
> >
> > > I 've a app that work perfect on the local Development App Engine (SDK
> > > 1.2.6). I've use Spring to convert json to spring beans thru springs
> > > org.springframework.web.servlet.view.json.MappingJacksonJsonView.
> >
> > > On dev server it fine but deployed to Google App Engine on the cloud I
> > > get this error:
> >
> > > Nested in org.springframework.web.util.NestedServletException: Request
> > > processing failed; nested exception is java.lang.NullPointerException:
> > > java.lang.NullPointerException
> > >        at
> > >
> com.google.apphosting.runtime.security.shared.RuntimeVerifier.isInspectable
> > > (RuntimeVerifier.java:302)
> > >        at
> >
> > >
> com.google.apphosting.runtime.security.shared.intercept.java.lang.Class_.ge
> tEnclosingMethod
> > > (Class_.java:237)
> > >        at
> > > org.codehaus.jackson.map.util.ClassUtil.isLocalType(ClassUtil.java:
> > > 88)
> > >        at
> > >
> org.codehaus.jackson.map.deser.BeanDeserializerFactory.isPotentialBeanType
> > > (BeanDeserializerFactory.java:613)
> > >        at
> >
> > >
> org.codehaus.jackson.map.deser.BeanDeserializerFactory.createBeanDeserializ
> er
> > > (BeanDeserializerFactory.java:61)
> > >        at
> > >
> org.codehaus.jackson.map.deser.StdDeserializerProvider._createDeserializer
> > > (StdDeserializerProvider.java:248)
> > >        at
> >
> > >
> org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCacheValue
> Deserializer
> > > (StdDeserializerProvider.java:181)
> > >        at
> >
> > >
> org.codehaus.jackson.map.deser.StdDeserializerProvider.findValueDeserialize
> r
> > > (StdDeserializerProvider.java:100)
> > >        at org.codehaus.jackson.map.ObjectMapper._findRootDeserializer
> > > (ObjectMapper.java:1069)
> > >        at org.codehaus.jackson.map.ObjectMapper._readMapAndClose
> > > (ObjectMapper.java:1002)
> > >        at
> > > org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:
> > > 818)
> > >        at
> >
> > >
> org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.
> readInternal
> > > (MappingJacksonHttpMessageConverter.java:104)
> > >        at
> > > org.springframework.http.converter.AbstractHttpMessageConverter.read
> > > (AbstractHttpMessageConverter.java:84)
> > >        at
> >
> > >
> org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolv
> eRequestBody
> > > (HandlerMethodInvoker.java:485)
> > >        at
> >
> > >
> org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolv
> eHandlerArguments
> > > (HandlerMethodInvoker.java:276)
> > >        at
> >
> > >
> org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invoke
> HandlerMethod
> > > (HandlerMethodInvoker.java:156)
> > >        at
> >
> > >
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapt
> er.invokeHandlerMethod
> > > (AnnotationMethodHandlerAdapter.java:378)
> > >        at
> >
> > >
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapt
> er.handle
> > > (AnnotationMethodHandlerAdapter.java:366)
> > >        at org.springframework.web.servlet.DispatcherServlet.doDispatch
> > > (DispatcherServlet.java:781)
> > >        at org.springframework.web.servlet.DispatcherServlet.doService
> > > (DispatcherServlet.java:726)
> > >        at
> org.springframework.web.servlet.FrameworkServlet.processRequest
> > > (FrameworkServlet.java:636)
> > >        at org.springframework.web.servlet.FrameworkServlet.doPost
> > > (FrameworkServlet.java:556)
> > >        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
> > > org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal
> > > (HiddenHttpMethodFilter.java:71)
> > >        at org.springframework.web.filter.OncePerRequestFilter.doFilter
> > > (OncePerRequestFilter.java:76)
> > >        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > (ServletHandler.java:1084)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:344)
> > >        at
> >
> > >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor
> .invoke
> > > (FilterSecurityInterceptor.java:110)
> > >        at
> >
> > >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor
> .doFilter
> > > (FilterSecurityInterceptor.java:84)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> > >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
> > > (ExceptionTranslationFilter.java:98)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> > >
> org.springframework.security.web.session.SessionManagementFilter.doFilter
> > > (SessionManagementFilter.java:95)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> >
> > >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilt
> er.doFilter
> > > (AnonymousAuthenticationFilter.java:110)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> >
> > >
> org.springframework.security.web.servletapi.SecurityContextHolderAwareReque
> stFilter.doFilter
> > > (SecurityContextHolderAwareRequestFilter.java:55)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> >
> > >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFil
> ter
> > > (RequestCacheAwareFilter.java:36)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> >
> > >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter
> > > (BasicAuthenticationFilter.java:177)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at
> >
> > >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.d
> oFilter
> > > (SecurityContextPersistenceFilter.java:80)
> > >        at org.springframework.security.web.FilterChainProxy
> > > $VirtualFilterChain.doFilter(FilterChainProxy.java:356)
> > >        at org.springframework.security.web.FilterChainProxy.doFilter
> > > (FilterChainProxy.java:150)
> > >        at
> > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate
> > > (DelegatingFilterProxy.java:237)
> > >        at org.springframework.web.filter.DelegatingFilterProxy.doFilter
> > > (DelegatingFilterProxy.java:167)
> > >        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.serviceReques
> t
> > > (JettyServletEngineAdapter.java:139)
> > >        at com.google.apphosting.runtime.JavaRuntime.handleRequest
> > > (JavaRuntime.java:239)
> > >        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:5135)
> > >        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:5133)
> > >        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:814)
> > >        at com.google.tracing.LocalTraceSpanRunnable.run
> > > (LocalTraceSpanRunnable.java:56)
> > >        at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
> > > (LocalTraceSpanBuilder.java:516)
> > >        at com.google.net.rpc.impl.Server.startRpc(Server.java:769)
> > >        at
> com.google.net.rpc.impl.Server.processRequest(Server.java:351)
> > >        at com.google.net.rpc.impl.ServerConnection.messageReceived
> > > (ServerConnection.java:437)
> > >        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.as
> >
> > > Is the jackson parser using any disallowed api?
> >
> > > Best Regards
> > > Thomas
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to