Tapestry 5
  1. Tapestry 5
  2. TAP5-659

In some servlet containers, access to virtual assets can result in a GZIP-related exception

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 5.1.0.3
    • Fix Version/s: 5.1.0.4
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      It looks like certain characters (I believe slashes) in the path name for the virtual asset are being decoded by the servlet container (this is for Websphere, I've seen a similar problem for Tomcat).

      2009-04-20 11:29:21,006 [WebContainer : 1] DEBUG org.apache.tapestry5.services.TapestryModule.ClientDataEncoder:73 - [ENTER] decodeClientData("H4sIAAAAAAAAAKXQwUoDMRAG4CD04nOIFKHJbktFD JFDz0JWuhRssnsGs3uhMwsbX0mX813cLOwC15aaG/Dny9/wvz8ism3EBcPQohLcaM0ETApMtEF1qb12JJaylxmcqFCREbeB5CfJORh y9NfnrYQ1mC4V5eDZJ1AOK4H9EQJHU9qMJr81W4aEc2JsnNjrbNaiDSFfSPvwzc G4Imj9Umdk8X97d3meLfF4Uc2WwVhEqsGkK2EDT a2zVbr3mg6ed8Gj7fe0Ordw924w9lWPp1bV0LSpYHPuX966TTls1q4GbPnJaY9VV/wHK4JGUkYCAAA=")
      2009-04-20 11:29:21,022 [WebContainer : 1] DEBUG org.apache.tapestry5.services.TapestryModule.ClientDataEncoder:164 - [ FAIL] decodeClientData – java.lang.RuntimeException
      java.lang.RuntimeException: java.util.zip.ZipException: invalid bit length repeat
      at org.apache.tapestry5.internal.services.ClientDataEncoderImpl.decodeClientData(ClientDataEncoderImpl.java:54)
      at Invocation$ClientDataEncoder$decodeClientData$120c4253f59.invokeDelegateMethod(Invocation$ClientDataEncoder$decodeClientData$120c4253f59.java)
      at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:117)
      at org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:45)
      at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:121)
      at $ClientDataEncoder_120c42536f2.decodeClientData($ClientDataEncoder_120c42536f2.java)
      at $ClientDataEncoder_120c4253666.decodeClientData($ClientDataEncoder_120c4253666.java)
      at org.apache.tapestry5.internal.services.VirtualAssetStreamerImpl.constructVirtualAssetStream(VirtualAssetStreamerImpl.java:161)
      at org.apache.tapestry5.internal.services.VirtualAssetStreamerImpl.getVirtualStream(VirtualAssetStreamerImpl.java:148)
      at org.apache.tapestry5.internal.services.VirtualAssetStreamerImpl.getCompressedVirtualStream(VirtualAssetStreamerImpl.java:112)
      at org.apache.tapestry5.internal.services.VirtualAssetStreamerImpl.getVirtualStream(VirtualAssetStreamerImpl.java:103)
      at org.apache.tapestry5.internal.services.VirtualAssetStreamerImpl.streamVirtualAsset(VirtualAssetStreamerImpl.java:74)
      at $VirtualAssetStreamer_120c425362c.streamVirtualAsset($VirtualAssetStreamer_120c425362c.java)
      at org.apache.tapestry5.internal.services.VirtualAssetDispatcher.dispatch(VirtualAssetDispatcher.java:49)
      at $Dispatcher_120c4253633.dispatch($Dispatcher_120c4253633.java)
      at $Dispatcher_120c4253626.dispatch($Dispatcher_120c4253626.java)
      at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:250)
      at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
      at $RequestHandler_120c4253627.service($RequestHandler_120c4253627.java)
      at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:782)
      at $RequestHandler_120c4253627.service($RequestHandler_120c4253627.java)
      at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:771)
      at $RequestHandler_120c4253627.service($RequestHandler_120c4253627.java)
      at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
      at $RequestHandler_120c4253627.service($RequestHandler_120c4253627.java)
      at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
      at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
      at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
      at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
      at $RequestHandler_120c4253627.service($RequestHandler_120c4253627.java)
      at $RequestHandler_120c425361d.service($RequestHandler_120c425361d.java)
      at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:202)
      at com.reged.quest.services.QuestionnaireServiceFilter.service(QuestionnaireServiceFilter.java:34)
      at $HttpServletRequestFilter_120c425361c.service($HttpServletRequestFilter_120c425361c.java)
      at $HttpServletRequestHandler_120c425361f.service($HttpServletRequestHandler_120c425361f.java)
      at com.reged.services.JaasTapestryFilter$RegedPrivilegedAction.run(JaasTapestryFilter.java:72)
      at java.security.AccessController.doPrivileged(AccessController.java:214)
      at javax.security.auth.Subject.doAsPrivileged(Subject.java:645)
      at com.reged.security.AbstractPrivilegedSecurityManager.doAsPrivileged(AbstractPrivilegedSecurityManager.java:74)
      at com.reged.services.JaasTapestryFilter.service(JaasTapestryFilter.java:30)
      at $HttpServletRequestFilter_120c425361b.service($HttpServletRequestFilter_120c425361b.java)
      at $HttpServletRequestHandler_120c425361f.service($HttpServletRequestHandler_120c425361f.java)
      at org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
      at $HttpServletRequestHandler_120c425361f.service($HttpServletRequestHandler_120c425361f.java)
      at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
      at $HttpServletRequestHandler_120c425361f.service($HttpServletRequestHandler_120c425361f.java)
      at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
      at $HttpServletRequestFilter_120c4253619.service($HttpServletRequestFilter_120c4253619.java)
      at $HttpServletRequestHandler_120c425361f.service($HttpServletRequestHandler_120c425361f.java)
      at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:730)
      at $HttpServletRequestHandler_120c425361f.service($HttpServletRequestHandler_120c425361f.java)
      at $HttpServletRequestHandler_120c4253617.service($HttpServletRequestHandler_120c4253617.java)
      at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)

        Activity

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development