Uploaded image for project: '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
    • Status: Closed
    • Priority: 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)

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: