Yeah, I understand, it's just another weird behavior of GAE.
But I don't see any option other thn reporting an issue to GAE. (that you already did)
BTW:
> As for your suggestion to try to develop a GAE app myself
He is some another guy who commented on the blog not me ;) my comment is just above his.
Sudhir NimavatSenior software engineer.
Quick start global PVT LTD.
Baroda - 390007
Gujarat, India
Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes..
________________________________
From: Attila Szegedi <[email protected]>
To: FreeMarker-user <[email protected]>
Sent: Tue, 27 April, 2010 7:18:27 PM
Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE
Hi,
as I said on the blog comment thread:
"I believe NoClassDefFoundError might be a consequence of the VerifyError; it's the way JVM works -- if loading of a class fails for whatever reason (including failure to load another class it depends on during loading), then JVM will remember that it failed to load the class, and on next attempt, it will quickly fail with NoClassDefFoundError instead. So, I'd ignore this error for a while and just go and find the first error that occurred before the NoClassDefFoundError - that is the real cause of your problem."
As for your suggestion to try to develop a GAE app myself - unfortunately, I have no idea how to develop for GAE; never did it. Not sure I'd have more tools at my disposal to debug the problem than you do. I think we ultimately have to hammer the GAE team; I'm fairly certain that FreeMarker is in clear - we're using legal Java code constructs; all we're running into so far were GAE restrictions.
Attila.
On 2010.04.27., at 15:43, [email protected] wrote:
> What about the another exception NoClassDefFoundError
> Any idea why FreeMarkerPageContext pageContext = PageContextFactory.getCurrentPageContext() throws this ?
>
> java.lang.NoClassDefFoundError: Could not initialize class freemarker.ext.jsp.PageContextFactory
> at freemarker.ext.jsp.TagTransformModel.getWriter(TagTransformModel.java:99)
> at freemarker.core.Environment.visit(Environment.java:286)
> at freemarker.core.UnifiedCall.accept(UnifiedCall.java:130)
>
> Thanks
> SN
>
>
>
>
>
> Sudhir Nimavat
> Senior software engineer.
> Quick start global PVT LTD.
> Baroda - 390007
> Gujarat, India
>
> Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes..
>
>
>
> From: Attila Szegedi <[email protected]>
> To: FreeMarker-user <[email protected]>
> Sent: Tue, 27 April, 2010 6:05:29 PM
> Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE
>
> I opened a defect report with the GAE: <http://code.google.com/p/googleappengine/issues/detail?id=3157>, described it the best I could.
>
> Attila.
>
> On 2010.04.27., at 14:28, Attila Szegedi wrote:
>
> > Hi Sudhir,
> >
> > I am sorry to say that I have no idea what does this error message mean. The last point in our code that executes is FreeMarkerJspFactory21.java:13, which evaluates "FreeMarkerJspApplicationContext.class.getName()". Apparently, it will then attempt to load the FreeMarkerJspApplicationContext class, and the class is rejected by Google's verifier with this message "incompatible argument to function".
> >
> > Now, <init> is automatically generated by the compiler, as the class has no explicit constructor in the source code. It directly subclasses java.lang.Object, so it's not even the case of having some funky superclass. I can't imagine why would this fail... Try pressing with the App Engine developers.
> >
> > Attila.
> >
> > On 2010.04.27., at 11:55, [email protected] wrote:
> >
> >> I am using freemarker-gae-pre2.jar and I get following error when I deploy to GAE. Its working fine on my local machine
> >> I am using spring MVC + freemarker.
> >> Error -
> >>
> >> java.lang.VerifyError: (class: freemarker/ext/jsp/FreeMarkerJspApplicationContext, method: <init> signature: ()V) Incompatible argument to function
> >> at com.google.appengine.runtime.Request.process-814a4fa105eb62da(Request.java)
> >> at java.lang.Class.forName0(Native Method)
> >> at java.lang.Class.forName(Class.java:109)
> >> at freemarker.ext.jsp.FreeMarkerJspFactory21.class$(FreeMarkerJspFactory21.java:13)
> >> at freemarker.ext.jsp.FreeMarkerJspFactory21.<clinit>(FreeMarkerJspFactory21.java:12)
> >> at
> >> freemarker.ext.jsp.FreeMarkerPageContext21.<clinit>(FreeMarkerPageContext21.java:30)
> >> at java.lang.Class.forName0(Native Method)
> >> at java.lang.Class.forName(Class.java:109)
> >> at freemarker.ext.jsp.PageContextFactory.getPageContextImpl(PageContextFactory.java:21)
> >> at
> >> freemarker.ext.jsp.PageContextFactory.<clinit>(PageContextFactory.java:15)
> >>
> >> at freemarker.ext.jsp.TagTransformModel.getWriter(TagTransformModel.java:99)
> >> at freemarker.core.Environment.visit(Environment.java:286)
> >> at freemarker.core.UnifiedCall.accept(UnifiedCall.java:130)
> >> at freemarker.core.Environment.visit(Environment.java:210)
> >> at freemarker.core.Macro$Context.runMacro(Macro.java:172)
> >> at freemarker.core.Environment.visit(Environment.java:603)
> >> at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)
> >> at freemarker.core.Environment.visit(Environment.java:210)
> >> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> >> at
> >> freemarker.core.Environment.visit(Environment.java:210)
> >> at freemarker.core.Environment.process(Environment.java:190)
> >> at freemarker.template.Template.process(Template.java:256)
> >> at
> >> org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366)
> >>
> >> at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283)
> >> at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233)
> >> at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167)
> >> at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
> >> at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
> >> at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
> >> at
> >> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
> >> at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
> >> at
> >> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
> >>
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> >> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
> >> 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:243)
> >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5838)
> >> at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5836)
> >> at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24)
> >> at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:398)
> >> at
> >> com.google.net.rpc.impl.Server$2.run(Server.java:852)
> >> at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56)
> >> at
> >> com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:576)
> >>
> >> at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
> >> at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
> >> at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:442)
> >> 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:831)
> >> at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207)
> >> at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:103)
> >> at
> >> com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251)
> >> at
> >> com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:404)
> >>
> >> at java.lang.Thread.run(Unknown Source)
> >>
> >> Any idea? workaround?
> >>
> >>
> >> Sudhir Nimavat
> >> Senior software engineer.
> >> Quick start global PVT LTD.
> >> Baroda - 390007 Gujarat, India
> >> http://www.jsptube.com
> >>
------------------------------------------------------------------------------
_______________________________________________
FreeMarker-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freemarker-user
------------------------------------------------------------------------------
_______________________________________________
FreeMarker-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freemarker-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.