Thread: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE
Generates text that depends on changing data (like dynamic HTML).
Brought to you by:
revusky
From: Sudhir N <sud...@ya...> - 2010-04-27 09:54:07
|
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 NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.jsptube.com Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. |
From: <sud...@ya...> - 2010-04-27 10:01:59
|
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 NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007Gujarat, India http://www.jsptube.com Gujarat, India Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. |
From: Attila S. <sze...@gm...> - 2010-04-27 12:35:41
|
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, sud...@ya... 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 >> >> >> Gujarat, India >> >> Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. |
From: <sud...@ya...> - 2010-04-27 13:03:05
|
Thanks for reply. Voted for this issue.. Weird behavior of GAE 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 <sze...@gm...> To: FreeMarker-user <fre...@li...> 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, sud...@ya... 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 >> >> >> Gujarat, India >> >> Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ------------------------------------------------------------------------------ _______________________________________________ FreeMarker-user mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-user |
From: Attila S. <sze...@gm...> - 2010-04-27 12:37:02
|
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, sud...@ya... 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 > > > Gujarat, India > > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. |
From: <sud...@ya...> - 2010-04-27 13:44:13
|
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 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 <sze...@gm...> To: FreeMarker-user <fre...@li...> 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, sud...@ya... 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 >> >> >> Gujarat, India >> >> Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ------------------------------------------------------------------------------ _______________________________________________ FreeMarker-user mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-user |
From: Attila S. <sze...@gm...> - 2010-04-27 13:48:42
|
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, sud...@ya... 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 <sze...@gm...> > To: FreeMarker-user <fre...@li...> > 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, sud...@ya... 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 > >> |
From: <sud...@ya...> - 2010-04-27 14:02:42
|
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 <sze...@gm...> To: FreeMarker-user <fre...@li...> 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, sud...@ya... 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 <sze...@gm...> > To: FreeMarker-user <fre...@li...> > 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, sud...@ya... 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 Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-user |
From: Daniel D. <dd...@fr...> - 2010-04-28 07:50:24
|
Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > 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) Trying to find the *minimal* example where GAE still fails might helps. That probably would include removing tons of classes and lines from FM (or rather, copy pasting from it the little relevant fragment that still fails). Just a blind tip anyway... But once again I wouldn't build any business on the hope that this will be fixed in GAE soon enough. So rather we should introduce a workaround, and so it would be good to find out if what unlucky combination triggers this GAE bug(?). > 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 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 <sze...@gm...> > To: FreeMarker-user <fre...@li...> > 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, sud...@ya... 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 <sze...@gm...> >> To: FreeMarker-user <fre...@li...> >> 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, sud...@ya... 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 > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freemarker-user -- Best regards, Daniel Dekany |
From: <sud...@ya...> - 2010-04-27 14:03:16
|
Along with this, There's one more exception logged with Warning: Desperately looking for the solution... can any one help me. 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) 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) 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: "sud...@ya..." <sud...@ya...> To: freemarker <fre...@li...> Sent: Tue, 27 April, 2010 3:25:04 PM Subject: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE 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 NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007Gujarat, India http://www.jsptube.com Gujarat, India Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. |
From: <sud...@ya...> - 2010-05-03 16:25:19
|
Some one from google is ready to give a look to this issue.. See the thread http://groups.google.com/group/google-appengine-java/browse_thread/thread/d4e78e3e733a9b2d I will try to provide him a sample application on which he can test, however if some one already have/or can create a basic sample and attach to the ticket it would be great. http://code.google.com/p/googleappengine/issues/detail?id=3157 Sudhir NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.ramanandi.org Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ________________________________ From: Daniel Dekany <dd...@fr...> To: sud...@ya... Sent: Wed, 28 April, 2010 2:54:22 PM Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE Wednesday, April 28, 2010, 11:04:00 AM, sud...@ya... wrote: > Did you look at the class? I don't see any thing unusual in the > code.. Don't understand why it's failing Of course it doesn't make sense. But then that's why one has to try things. Like, what's if it's not package private. Will it still fail? If so, then that's unrelated. So then, next, what if all its method bodies are empty, so all unnecessarily imports are removed. Etc. BTW, is your test application also minimalist? Stuff like framework-specific class loaders, instrumentation, etc. might be the culprit. If you have anything like that... > May be, because the class is package privat. > See the code here > http://freemarker.svn.sourceforge.net/viewvc/freemarker/branches/2.3-gae/freemarker/src/freemarker/ext/jsp/FreeMarkerJspApplicationContext.java?revision=1164&view=markup > > > > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.jsptube.com > Warning: Spelling errors in this message are the product of a poor > school system. Pay teachers more than athletes.. > > > > From: Daniel Dekany <dd...@fr...> > To: FreeMarker-user <fre...@li...> > Cc: sud...@ya... > Sent: Wed, 28 April, 2010 1:20:07 PM > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > >> 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) > > Trying to find the *minimal* example where GAE still fails might > helps. That probably would include removing tons of classes and lines > from FM (or rather, copy pasting from it the little relevant fragment > that still fails). Just a blind tip anyway... But once again I > wouldn't build any business on the hope that this will be fixed in GAE > soon enough. So rather we should introduce a workaround, and so it > would be good to find out if what unlucky combination triggers this > GAE bug(?). > >> 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 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 <sze...@gm...> >> To: FreeMarker-user <fre...@li...> >> 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, sud...@ya... 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 <sze...@gm...> >>> To: FreeMarker-user <fre...@li...> >>> 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, sud...@ya... 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 >> Fre...@li... >> https://lists.sourceforge.net/lists/listinfo/freemarker-user > -- Best regards, Daniel Dekany |
From: Attila S. <sze...@gm...> - 2010-05-03 18:16:00
|
Yes, I contacted a Google Developer Advocate that I'm in touch with and it seems he was able to find an engineer to look into this. I responded on the GAE group, but I'll repeat the idea here too: since the problem seems to be with the JSP classes that GAE provides, why don't you grab a vanilla JSP JAR file from a Tomcat or Jetty download, and drop it in your webapp's WEB-INF/lib directory? Then the FreeMarker's JSP taglib machinery might[*] be able to load those classes and not the GAE modified JSP classes, and thus work correctly. [*] Note that it might not work, if GAE overrides the classpath. Attila. On 2010.05.03., at 18:25, sud...@ya... wrote: > Some one from google is ready to give a look to this issue.. > > See the thread http://groups.google.com/group/google-appengine-java/browse_thread/thread/d4e78e3e733a9b2d > > I will try to provide him a sample application on which he can test, however if some one already have/or can create a basic sample and attach to the ticket it would be great. > > http://code.google.com/p/googleappengine/issues/detail?id=3157 > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > From: Daniel Dekany <dd...@fr...> > To: sud...@ya... > Sent: Wed, 28 April, 2010 2:54:22 PM > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Wednesday, April 28, 2010, 11:04:00 AM, sud...@ya... wrote: > > > Did you look at the class? I don't see any thing unusual in the > > code.. Don't understand why it's failing > > Of course it doesn't make sense. But then that's why one has to try > things. Like, what's if it's not package private. Will it still fail? > If so, then that's unrelated. So then, next, what if all its method > bodies are empty, so all unnecessarily imports are removed. Etc. > > BTW, is your test application also minimalist? Stuff like > framework-specific class loaders, instrumentation, etc. might be the > culprit. If you have anything like that... > > > May be, because the class is package privat. > > > See the code here > > http://freemarker.svn.sourceforge.net/viewvc/freemarker/branches/2.3-gae/freemarker/src/freemarker/ext/jsp/FreeMarkerJspApplicationContext.java?revision=1164&view=markup > > > > > > > > > > > > Sudhir Nimavat > > Senior software engineer. > > Quick start global PVT LTD. > > Baroda - 390007 > > Gujarat, India > > http://www.jsptube.com > > Warning: Spelling errors in this message are the product of a poor > > school system. Pay teachers more than athletes.. > > > > > > > > From: Daniel Dekany <dd...@fr...> > > To: FreeMarker-user <fre...@li...> > > Cc: sud...@ya... > > Sent: Wed, 28 April, 2010 1:20:07 PM > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > > > >> 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) > > > > Trying to find the *minimal* example where GAE still fails might > > helps. That probably would include removing tons of classes and lines > > from FM (or rather, copy pasting from it the little relevant fragment > > that still fails). Just a blind tip anyway... But once again I > > wouldn't build any business on the hope that this will be fixed in GAE > > soon enough. So rather we should introduce a workaround, and so it > > would be good to find out if what unlucky combination triggers this > > GAE bug(?). > > > >> 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 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 <sze...@gm...> > >> To: FreeMarker-user <fre...@li...> > >> 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, sud...@ya... 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 <sze...@gm...> > >>> To: FreeMarker-user <fre...@li...> > >>> 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, sud...@ya... 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 |
From: <sud...@ya...> - 2010-05-04 06:45:37
|
Putting the jsp-api.jar from tomcat installation into lib directory does not solve the problem Tried it. Sudhir NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.ramanandi.org Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ________________________________ From: Attila Szegedi <sze...@gm...> To: FreeMarker-devel <fre...@li...> Cc: freemarker <fre...@li...> Sent: Mon, 3 May, 2010 11:45:50 PM Subject: Re: [Freemarker-devel] [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE Yes, I contacted a Google Developer Advocate that I'm in touch with and it seems he was able to find an engineer to look into this. I responded on the GAE group, but I'll repeat the idea here too: since the problem seems to be with the JSP classes that GAE provides, why don't you grab a vanilla JSP JAR file from a Tomcat or Jetty download, and drop it in your webapp's WEB-INF/lib directory? Then the FreeMarker's JSP taglib machinery might[*] be able to load those classes and not the GAE modified JSP classes, and thus work correctly. [*] Note that it might not work, if GAE overrides the classpath. Attila. On 2010.05.03., at 18:25, sud...@ya... wrote: > Some one from google is ready to give a look to this issue.. > > See the thread http://groups.google.com/group/google-appengine-java/browse_thread/thread/d4e78e3e733a9b2d > > I will try to provide him a sample application on which he can test, however if some one already have/or can create a basic sample and attach to the ticket it would be great. > > http://code.google.com/p/googleappengine/issues/detail?id=3157 > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > From: Daniel Dekany <dd...@fr...> > To: sud...@ya... > Sent: Wed, 28 April, 2010 2:54:22 PM > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Wednesday, April 28, 2010, 11:04:00 AM, sud...@ya... wrote: > > > Did you look at the class? I don't see any thing unusual in the > > code.. Don't understand why it's failing > > Of course it doesn't make sense. But then that's why one has to try > things. Like, what's if it's not package private. Will it still fail? > If so, then that's unrelated. So then, next, what if all its method > bodies are empty, so all unnecessarily imports are removed. Etc. > > BTW, is your test application also minimalist? Stuff like > framework-specific class loaders, instrumentation, etc. might be the > culprit. If you have anything like that... > > > May be, because the class is package privat. > > > See the code here > > http://freemarker.svn.sourceforge.net/viewvc/freemarker/branches/2.3-gae/freemarker/src/freemarker/ext/jsp/FreeMarkerJspApplicationContext.java?revision=1164&view=markup > > > > > > > > > > > > Sudhir Nimavat > > Senior software engineer. > > Quick start global PVT LTD. > > Baroda - 390007 > > Gujarat, India > > http://www.jsptube.com > > Warning: Spelling errors in this message are the product of a poor > > school system. Pay teachers more than athletes.. > > > > > > > > From: Daniel Dekany <dd...@fr...> > > To: FreeMarker-user <fre...@li...> > > Cc: sud...@ya... > > Sent: Wed, 28 April, 2010 1:20:07 PM > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > > > >> 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) > > > > Trying to find the *minimal* example where GAE still fails might > > helps. That probably would include removing tons of classes and lines > > from FM (or rather, copy pasting from it the little relevant fragment > > that still fails). Just a blind tip anyway... But once again I > > wouldn't build any business on the hope that this will be fixed in GAE > > soon enough. So rather we should introduce a workaround, and so it > > would be good to find out if what unlucky combination triggers this > > GAE bug(?). > > > >> 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 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 <sze...@gm...> > >> To: FreeMarker-user <fre...@li...> > >> 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, sud...@ya... 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 <sze...@gm...> > >>> To: FreeMarker-user <fre...@li...> > >>> 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, sud...@ya... 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-devel mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-devel |
From: Attila S. <sze...@gm...> - 2010-05-04 07:02:04
|
Well, it was worth a try... Attila. On 2010.05.04., at 8:45, sud...@ya... wrote: > Putting the jsp-api.jar from tomcat installation into lib directory does not solve the problem > Tried it. > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > From: Attila Szegedi <sze...@gm...> > To: FreeMarker-devel <fre...@li...> > Cc: freemarker <fre...@li...> > Sent: Mon, 3 May, 2010 11:45:50 PM > Subject: Re: [Freemarker-devel] [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Yes, I contacted a Google Developer Advocate that I'm in touch with and it seems he was able to find an engineer to look into this. > > I responded on the GAE group, but I'll repeat the idea here too: since the problem seems to be with the JSP classes that GAE provides, why don't you grab a vanilla JSP JAR file from a Tomcat or Jetty download, and drop it in your webapp's WEB-INF/lib directory? Then the FreeMarker's JSP taglib machinery might[*] be able to load those classes and not the GAE modified JSP classes, and thus work correctly. > > [*] Note that it might not work, if GAE overrides the classpath. > > Attila. > > On 2010.05.03., at 18:25, sud...@ya... wrote: > > > Some one from google is ready to give a look to this issue.. > > > > See the thread http://groups.google.com/group/google-appengine-java/browse_thread/thread/d4e78e3e733a9b2d > > > > I will try to provide him a sample application on which he can test, however if some one already have/or can create a basic sample and attach to the ticket it would be great. > > > > http://code.google.com/p/googleappengine/issues/detail?id=3157 > > > > > > Sudhir Nimavat > > Senior software engineer. > > Quick start global PVT LTD. > > Baroda - 390007 > > Gujarat, India > > http://www.ramanandi.org > > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > > > > > From: Daniel Dekany <dd...@fr...> > > To: sud...@ya... > > Sent: Wed, 28 April, 2010 2:54:22 PM > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > Wednesday, April 28, 2010, 11:04:00 AM, sud...@ya... wrote: > > > > > Did you look at the class? I don't see any thing unusual in the > > > code.. Don't understand why it's failing > > > > Of course it doesn't make sense. But then that's why one has to try > > things. Like, what's if it's not package private. Will it still fail? > > If so, then that's unrelated. So then, next, what if all its method > > bodies are empty, so all unnecessarily imports are removed. Etc. > > > > BTW, is your test application also minimalist? Stuff like > > framework-specific class loaders, instrumentation, etc. might be the > > culprit. If you have anything like that... > > > > > May be, because the class is package privat. > > > > > See the code here > > > http://freemarker.svn.sourceforge.net/viewvc/freemarker/branches/2.3-gae/freemarker/src/freemarker/ext/jsp/FreeMarkerJspApplicationContext.java?revision=1164&view=markup > > > > > > > > > > > > > > > > > > Sudhir Nimavat > > > Senior software engineer. > > > Quick start global PVT LTD. > > > Baroda - 390007 > > > Gujarat, India > > > http://www.jsptube.com > > > Warning: Spelling errors in this message are the product of a poor > > > school system. Pay teachers more than athletes.. > > > > > > > > > > > > From: Daniel Dekany <dd...@fr...> > > > To: FreeMarker-user <fre...@li...> > > > Cc: sud...@ya... > > > Sent: Wed, 28 April, 2010 1:20:07 PM > > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > > > Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > > > > > >> 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) > > > > > > Trying to find the *minimal* example where GAE still fails might > > > helps. That probably would include removing tons of classes and lines > > > from FM (or rather, copy pasting from it the little relevant fragment > > > that still fails). Just a blind tip anyway... But once again I > > > wouldn't build any business on the hope that this will be fixed in GAE > > > soon enough. So rather we should introduce a workaround, and so it > > > would be good to find out if what unlucky combination triggers this > > > GAE bug(?). > > > > > >> 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 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 <sze...@gm...> > > >> To: FreeMarker-user <fre...@li...> > > >> 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, sud...@ya... 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 <sze...@gm...> > > >>> To: FreeMarker-user <fre...@li...> > > >>> 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, sud...@ya... 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 |
From: Attila S. <sze...@gm...> - 2010-05-04 07:11:52
|
I have a new freemarker.jar that might be able to work around the GAE problem. Can you please try this: <https://sourceforge.net/projects/freemarker/files/freemarker/2.3.16/freemarker-gae-pre3.jar/download> Attila. -- home: http://www.szegedi.org twitter: http://twitter.com/szegedi weblog: http://constc.blogspot.com On 2010.05.04., at 8:45, sud...@ya... wrote: > Putting the jsp-api.jar from tomcat installation into lib directory does not solve the problem > Tried it. > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > From: Attila Szegedi <sze...@gm...> > To: FreeMarker-devel <fre...@li...> > Cc: freemarker <fre...@li...> > Sent: Mon, 3 May, 2010 11:45:50 PM > Subject: Re: [Freemarker-devel] [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Yes, I contacted a Google Developer Advocate that I'm in touch with and it seems he was able to find an engineer to look into this. > > I responded on the GAE group, but I'll repeat the idea here too: since the problem seems to be with the JSP classes that GAE provides, why don't you grab a vanilla JSP JAR file from a Tomcat or Jetty download, and drop it in your webapp's WEB-INF/lib directory? Then the FreeMarker's JSP taglib machinery might[*] be able to load those classes and not the GAE modified JSP classes, and thus work correctly. > > [*] Note that it might not work, if GAE overrides the classpath. > > Attila. > > On 2010.05.03., at 18:25, sud...@ya... wrote: > > > Some one from google is ready to give a look to this issue.. > > > > See the thread http://groups.google.com/group/google-appengine-java/browse_thread/thread/d4e78e3e733a9b2d > > > > I will try to provide him a sample application on which he can test, however if some one already have/or can create a basic sample and attach to the ticket it would be great. > > > > http://code.google.com/p/googleappengine/issues/detail?id=3157 > > > > > > Sudhir Nimavat > > Senior software engineer. > > Quick start global PVT LTD. > > Baroda - 390007 > > Gujarat, India > > http://www.ramanandi.org > > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > > > > > From: Daniel Dekany <dd...@fr...> > > To: sud...@ya... > > Sent: Wed, 28 April, 2010 2:54:22 PM > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > Wednesday, April 28, 2010, 11:04:00 AM, sud...@ya... wrote: > > > > > Did you look at the class? I don't see any thing unusual in the > > > code.. Don't understand why it's failing > > > > Of course it doesn't make sense. But then that's why one has to try > > things. Like, what's if it's not package private. Will it still fail? > > If so, then that's unrelated. So then, next, what if all its method > > bodies are empty, so all unnecessarily imports are removed. Etc. > > > > BTW, is your test application also minimalist? Stuff like > > framework-specific class loaders, instrumentation, etc. might be the > > culprit. If you have anything like that... > > > > > May be, because the class is package privat. > > > > > See the code here > > > http://freemarker.svn.sourceforge.net/viewvc/freemarker/branches/2.3-gae/freemarker/src/freemarker/ext/jsp/FreeMarkerJspApplicationContext.java?revision=1164&view=markup > > > > > > > > > > > > > > > > > > Sudhir Nimavat > > > Senior software engineer. > > > Quick start global PVT LTD. > > > Baroda - 390007 > > > Gujarat, India > > > http://www.jsptube.com > > > Warning: Spelling errors in this message are the product of a poor > > > school system. Pay teachers more than athletes.. > > > > > > > > > > > > From: Daniel Dekany <dd...@fr...> > > > To: FreeMarker-user <fre...@li...> > > > Cc: sud...@ya... > > > Sent: Wed, 28 April, 2010 1:20:07 PM > > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > > > Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > > > > > >> 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) > > > > > > Trying to find the *minimal* example where GAE still fails might > > > helps. That probably would include removing tons of classes and lines > > > from FM (or rather, copy pasting from it the little relevant fragment > > > that still fails). Just a blind tip anyway... But once again I > > > wouldn't build any business on the hope that this will be fixed in GAE > > > soon enough. So rather we should introduce a workaround, and so it > > > would be good to find out if what unlucky combination triggers this > > > GAE bug(?). > > > > > >> 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 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 <sze...@gm...> > > >> To: FreeMarker-user <fre...@li...> > > >> 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, sud...@ya... 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 <sze...@gm...> > > >>> To: FreeMarker-user <fre...@li...> > > >>> 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, sud...@ya... 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 |
From: <sud...@ya...> - 2010-05-04 07:39:05
|
Yeah, Works ! VerifyError has gone.. Tried this.. does not see any other exception.. cool. Thanks, The one another bug I have noticed is, when I have annotation on getter Method, some how freemarker can not find that property and throws error. This does not seem GAE specific. Should I report a new bug for this ! Simple Example import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.MappedSuperclass; import org.hibernate.validator.constraints.NotEmpty; import org.ramanandi.framework.domain.model.jpa.BaseEntity; @Entity @MappedSuperclass public class LookupType extends BaseEntity { @Basic private String _name; protected LookupType() {} public LookupType(String name) { this._name = name; } @NotEmpty public String getName() { return _name; } public void setName(String name) { _name = name; } } When try to access the property <#list list as item> <tr> <td>${item.name}</td> <td><a href="create?id=${item.id}">Edit</a></td> </tr> </#list> Got following Expression item.name is undefined on line 14, column 31 in Country-list.ftl. The problematic instruction: ---------- ==> ${item.name} [on line 14, column 29 in Country-list.ftl] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: Expression item.name is undefined on line 14, column 31 in Country-list.ftl. at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) at freemarker.core.Expression.getStringValue(Expression.java:118) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) 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.IteratorBlock$Context.runLoop(IteratorBlock.java:179) at freemarker.core.Environment.visit(Environment.java:417) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) 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) a It works if I remove @NotEmpty from getter method. Sudhir NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.ramanandi.org Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ________________________________ From: Attila Szegedi <sze...@gm...> To: FreeMarker-user <fre...@li...> Cc: FreeMarker-devel <fre...@li...> Sent: Tue, 4 May, 2010 12:41:36 PM Subject: Re: [Freemarker-devel] [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE I have a new freemarker.jar that might be able to work around the GAE problem. Can you please try this: <https://sourceforge.net/projects/freemarker/files/freemarker/2.3.16/freemarker-gae-pre3.jar/download> Attila. -- home: http://www.szegedi.org twitter: http://twitter.com/szegedi weblog: http://constc.blogspot.com On 2010.05.04., at 8:45, sud...@ya... wrote: > Putting the jsp-api.jar from tomcat installation into lib directory does not solve the problem > Tried it. > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > From: Attila Szegedi <sze...@gm...> > To: FreeMarker-devel <fre...@li...> > Cc: freemarker <fre...@li...> > Sent: Mon, 3 May, 2010 11:45:50 PM > Subject: Re: [Freemarker-devel] [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Yes, I contacted a Google Developer Advocate that I'm in touch with and it seems he was able to find an engineer to look into this. > > I responded on the GAE group, but I'll repeat the idea here too: since the problem seems to be with the JSP classes that GAE provides, why don't you grab a vanilla JSP JAR file from a Tomcat or Jetty download, and drop it in your webapp's WEB-INF/lib directory? Then the FreeMarker's JSP taglib machinery might[*] be able to load those classes and not the GAE modified JSP classes, and thus work correctly. > > [*] Note that it might not work, if GAE overrides the classpath. > > Attila. > > On 2010.05.03., at 18:25, sud...@ya... wrote: > > > Some one from google is ready to give a look to this issue.. > > > > See the thread http://groups.google.com/group/google-appengine-java/browse_thread/thread/d4e78e3e733a9b2d > > > > I will try to provide him a sample application on which he can test, however if some one already have/or can create a basic sample and attach to the ticket it would be great. > > > > http://code.google.com/p/googleappengine/issues/detail?id=3157 > > > > > > Sudhir Nimavat > > Senior software engineer. > > Quick start global PVT LTD. > > Baroda - 390007 > > Gujarat, India > > http://www.ramanandi.org > > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > > > > > From: Daniel Dekany <dd...@fr...> > > To: sud...@ya... > > Sent: Wed, 28 April, 2010 2:54:22 PM > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > Wednesday, April 28, 2010, 11:04:00 AM, sud...@ya... wrote: > > > > > Did you look at the class? I don't see any thing unusual in the > > > code.. Don't understand why it's failing > > > > Of course it doesn't make sense. But then that's why one has to try > > things. Like, what's if it's not package private. Will it still fail? > > If so, then that's unrelated. So then, next, what if all its method > > bodies are empty, so all unnecessarily imports are removed. Etc. > > > > BTW, is your test application also minimalist? Stuff like > > framework-specific class loaders, instrumentation, etc. might be the > > culprit. If you have anything like that... > > > > > May be, because the class is package privat. > > > > > See the code here > > > http://freemarker.svn.sourceforge.net/viewvc/freemarker/branches/2.3-gae/freemarker/src/freemarker/ext/jsp/FreeMarkerJspApplicationContext.java?revision=1164&view=markup > > > > > > > > > > > > > > > > > > Sudhir Nimavat > > > Senior software engineer. > > > Quick start global PVT LTD. > > > Baroda - 390007 > > > Gujarat, India > > > http://www.jsptube.com > > > Warning: Spelling errors in this message are the product of a poor > > > school system. Pay teachers more than athletes.. > > > > > > > > > > > > From: Daniel Dekany <dd...@fr...> > > > To: FreeMarker-user <fre...@li...> > > > Cc: sud...@ya... > > > Sent: Wed, 28 April, 2010 1:20:07 PM > > > Subject: Re: [FreeMarker-user] freemarker-gae-pre2 - java.lang.VerifyError on GAE > > > > > > Tuesday, April 27, 2010, 4:02:27 PM, sud...@ya... wrote: > > > > > >> 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) > > > > > > Trying to find the *minimal* example where GAE still fails might > > > helps. That probably would include removing tons of classes and lines > > > from FM (or rather, copy pasting from it the little relevant fragment > > > that still fails). Just a blind tip anyway... But once again I > > > wouldn't build any business on the hope that this will be fixed in GAE > > > soon enough. So rather we should introduce a workaround, and so it > > > would be good to find out if what unlucky combination triggers this > > > GAE bug(?). > > > > > >> 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 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 <sze...@gm...> > > >> To: FreeMarker-user <fre...@li...> > > >> 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, sud...@ya... 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 <sze...@gm...> > > >>> To: FreeMarker-user <fre...@li...> > > >>> 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, sud...@ya... 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-devel mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-devel |
From: Attila S. <sze...@gm...> - 2010-05-04 08:27:16
|
On 2010.05.04., at 9:38, sud...@ya... wrote: > Yeah, Works ! > > VerifyError has gone.. Tried this.. does not see any other exception.. cool. > > > Thanks, You're welcome. > er bug I have noticed is, when I have annotation on getter Method, some how freemarker can not find that property and throws error. > This does not seem GAE specific. Should I report a new bug for this ! So, if you remove the @NotEmpty annotation, then it works? Attila. -- twitter: http://twitter.com/szegedi weblog: http://constc.blogspot.com home: http://www.szegedi.org |
From: <sud...@ya...> - 2010-05-04 08:56:37
|
Yes, it works if @NotEmpty is removed.. no other changes.. just remove the annotation... Sudhir NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.ramanandi.org Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ________________________________ From: Attila Szegedi <sze...@gm...> To: FreeMarker-user <fre...@li...> Sent: Tue, 4 May, 2010 1:57:03 PM Subject: [FreeMarker-user] [Freemarker-devel] Annotated getter problem, was Re: freemarker-gae-pre2 - java.lang.VerifyError on GAE On 2010.05.04., at 9:38, sud...@ya... wrote: > Yeah, Works ! > > VerifyError has gone.. Tried this.. does not see any other exception.. cool. > > > Thanks, You're welcome. > er bug I have noticed is, when I have annotation on getter Method, some how freemarker can not find that property and throws error. > This does not seem GAE specific. Should I report a new bug for this ! So, if you remove the @NotEmpty annotation, then it works? Attila. -- twitter: http://twitter.com/szegedi weblog: http://constc.blogspot.com home: http://www.szegedi.org ------------------------------------------------------------------------------ _______________________________________________ FreeMarker-user mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-user |
From: <sud...@ya...> - 2010-05-05 07:25:08
|
Can any one confirm this as a bug, I will file a bug on sourceforge thn.. Sudhir NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.ramanandi.org Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ----- Forwarded Message ---- From: "sud...@ya..." <sud...@ya...> To: FreeMarker-user <fre...@li...> Sent: Tue, 4 May, 2010 2:26:27 PM Subject: Re: [FreeMarker-user] [Freemarker-devel] Annotated getter problem, was Re: freemarker-gae-pre2 - java.lang.VerifyError on GAE Yes, it works if @NotEmpty is removed.. no other changes.. just remove the annotation... Sudhir NimavatSenior software engineer. Quick start global PVT LTD. Baroda - 390007 Gujarat, India http://www.ramanandi.org Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. ________________________________ From: Attila Szegedi <sze...@gm...> To: FreeMarker-user <fre...@li...> Sent: Tue, 4 May, 2010 1:57:03 PM Subject: [FreeMarker-user] [Freemarker-devel] Annotated getter problem, was Re: freemarker-gae-pre2 - java.lang.VerifyError on GAE On 2010.05.04., at 9:38, sud...@ya... wrote: > Yeah, Works ! > > VerifyError has gone.. Tried this.. does not see any other exception.. cool. > > > Thanks, You're welcome. > er bug I have noticed is, when I have annotation on getter Method, some how freemarker can not find that property and throws error. > This does not seem GAE specific. Should I report a new bug for this ! So, if you remove the @NotEmpty annotation, then it works? Attila. -- twitter: http://twitter.com/szegedi weblog: http://constc.blogspot.com home: http://www.szegedi.org ------------------------------------------------------------------------------ _______________________________________________ FreeMarker-user mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freemarker-user |
From: Attila S. <sze...@gm...> - 2010-05-05 08:24:52
|
It probably is a bug. You'll get much better chances of it being fixed if you can come up with a reproducible, self-contained testcase that demonstrates the problem. Attila. On 2010.05.05., at 9:24, sud...@ya... wrote: > Can any one confirm this as a bug, I will file a bug on sourceforge thn.. > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > ----- Forwarded Message ---- > From: "sud...@ya..." <sud...@ya...> > To: FreeMarker-user <fre...@li...> > Sent: Tue, 4 May, 2010 2:26:27 PM > Subject: Re: [FreeMarker-user] [Freemarker-devel] Annotated getter problem, was Re: freemarker-gae-pre2 - java.lang.VerifyError on GAE > > Yes, it works if @NotEmpty is removed.. no other changes.. just remove the annotation... > > > Sudhir Nimavat > Senior software engineer. > Quick start global PVT LTD. > Baroda - 390007 > Gujarat, India > http://www.ramanandi.org > Warning: Spelling errors in this message are the product of a poor school system. Pay teachers more than athletes.. > > > > From: Attila Szegedi <sze...@gm...> > To: FreeMarker-user <fre...@li...> > Sent: Tue, 4 May, 2010 1:57:03 PM > Subject: [FreeMarker-user] [Freemarker-devel] Annotated getter problem, was Re: freemarker-gae-pre2 - java.lang.VerifyError on GAE > > On 2010.05.04., at 9:38, sud...@ya... wrote: > > > Yeah, Works ! > > > > VerifyError has gone.. Tried this.. does not see any other exception.. cool. > > > > > > Thanks, > > You're welcome. > > > er bug I have noticed is, when I have annotation on getter Method, some how freemarker can not find that property and throws error. > > This does not seem GAE specific. Should I report a new bug for this ! > > So, if you remove the @NotEmpty annotation, then it works? > > Attila. Attila. |