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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 5.1.0.3
    • 5.1.0.4
    • tapestry-core
    • 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

            hlship Howard Lewis Ship
            hlship Howard Lewis Ship
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: