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.
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? 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. * 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