On Wed, Apr 8, 2009 at 4:21 AM, Blower, Andy <andy.blo...@proquest.co.uk> wrote: > Another day, another couple of stumbling blocks for our applications > migration to T5.1 - I can't believe this has taken a solid week of effort so > far. I'm starting to wonder if we jumped the gun on moving to T5.1 so soon? I > do seem to be having more problems than most people on the list, so maybe > it's just me / our app or something.
I'm sorry and surprised you are having so much trouble. > > Anyway, the first issue is with our checkbox components that do an Ajax call > when checked or unchecked. They work fine if Gzip compression is switched > off, but if it's enabled the Ajax.Request hits the onException block with > this error message "TypeError: response is null". The server event handler is > being called correctly and returning the correct JSONObject, but the > responseText is empty and responseXML, responseJSON, and headerJSON are all > null even though the status code is 200. My guess that the JSONObject is > being compressed and it shouldn't be. Should I raise a JIRA for this, or am I > mistaken here? There's an existing JIRA issue, with a workaround. https://issues.apache.org/jira/browse/TAP5-469 This only seems to affect some people ... I suspect it may only occur when an Apache server is between the browser and the servlet container. Can you confirm? > > I also have a page that works fine with T5.0.18 but breaks in T5.1.0.2 and I > have no idea why - curiously, if I have gzip compression I don't see the > stacktrace in the browser, but I get "Content Encoding Error", "The page you > are trying to view cannot be shown because it uses an invalid or unsupported > form of compression." From Firefox. > > Here is the stack trace, in case anyone can make any sense of it: > > An unexpected application exception has occurred. Someone else has seen this as well. > > * java.lang.NullPointerException > * > org.apache.tapestry5.dom.AbstractMarkupModel.encodeQuoted(AbstractMarkupModel.java:94) > * org.apache.tapestry5.dom.Attribute.render(Attribute.java:69) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:313) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Element.writeChildMarkup(Element.java:835) > * org.apache.tapestry5.dom.Element.toMarkup(Element.java:351) > * org.apache.tapestry5.dom.Document.toMarkup(Document.java:163) > * org.apache.tapestry5.dom.Node.toMarkup(Node.java:80) > * > org.apache.tapestry5.internal.services.MarkupWriterImpl.toMarkup(MarkupWriterImpl.java:57) > * > org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67) > * > $PageResponseRenderer_12085541484.renderPageResponse($PageResponseRenderer_12085541484.java) > * > org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:63) > * > org.apache.tapestry5.services.TapestryModule$33.handle(TapestryModule.java:1952) > * > $PageRenderRequestHandler_12085541485.handle($PageRenderRequestHandler_12085541485.java) > * > $PageRenderRequestHandler_12085541478.handle($PageRenderRequestHandler_12085541478.java) > * > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48) > * > $ComponentRequestHandler_1208554147e.handlePageRender($ComponentRequestHandler_1208554147e.java) > * > org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45) > * $Dispatcher_12085541480.dispatch($Dispatcher_12085541480.java) > * $Dispatcher_12085541472.dispatch($Dispatcher_12085541472.java) > * > org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:250) > * > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > * $RequestHandler_12085541473.service($RequestHandler_12085541473.java) > * > org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:782) > * $RequestHandler_12085541473.service($RequestHandler_12085541473.java) > * > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:771) > * $RequestHandler_12085541473.service($RequestHandler_12085541473.java) > * > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) > * $RequestHandler_12085541473.service($RequestHandler_12085541473.java) > * > com.proquest.apps.corelib.AppCoreLibModule$4.service(AppCoreLibModule.java:209) > * $RequestFilter_1208554146f.service($RequestFilter_1208554146f.java) > * $RequestHandler_12085541473.service($RequestHandler_12085541473.java) > * > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) > * > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81) > * > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) > * > org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) > * $RequestHandler_12085541473.service($RequestHandler_12085541473.java) > * $RequestHandler_1208554146b.service($RequestHandler_1208554146b.java) > * > org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:202) > * > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) > * > $HttpServletRequestFilter_1208554146a.service($HttpServletRequestFilter_1208554146a.java) > * > $HttpServletRequestHandler_1208554146d.service($HttpServletRequestHandler_1208554146d.java) > * > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:730) > * > $HttpServletRequestHandler_1208554146d.service($HttpServletRequestHandler_1208554146d.java) > * > $HttpServletRequestHandler_12085541468.service($HttpServletRequestHandler_12085541468.java) > * org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127) > * > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) > * > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) > * > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > * > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > * > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722) > * org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404) > * > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) > * org.mortbay.jetty.Server.handle(Server.java:324) > * org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) > * > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) > * org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) > * org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > * org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > * > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) > * > org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) > Tapestry Framework > Tapestry Version > 5.1.0.2 > > void render(MarkupModel model, StringBuilder builder, Map<String, String> namespaceURIToPrefix) { builder.append(" "); builder.append(element.toPrefixedName(namespaceURIToPrefix, namespace, name)); builder.append("="); builder.append(model.getAttributeQuote()); model.encodeQuoted(value, builder); // line 69 builder.append(model.getAttributeQuote()); } I think this I can chase down; something is wrong, the value should never be null (it can be the empty string). -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org