Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-2605

JS minimizer regression bug in 5.5.0-beta-1

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.5.0
    • Fix Version/s: None
    • Component/s: tapestry-webresources
    • Labels:

      Description

      After upgrading from 5.4.4 to 5.5.0-beta-1 I am getting the following error for the attached clipboard-polyfill.promise.js

       

      20190105 22:07:58.126 [http-nio-8080-exec-5] ERROR org.apache.tapestry5.ioc.Registry - Illegal char <<> at index 18: StreamableResource<text/javascript classpath:META-INF/assets/js/3rd-party/clipboard-polyfill.promise.js COMPRESSABLE lastModified: Sat Jan 05 22:07:25 CET 2019 size: 24061>
      20190105 22:07:58.126 [http-nio-8080-exec-5] ERROR org.apache.tapestry5.ioc.Registry - Operations trace:
      20190105 22:07:58.126 [http-nio-8080-exec-5] ERROR org.apache.tapestry5.ioc.Registry - [ 1] Streaming compressed module clipboard
      20190105 22:07:58.126 [http-nio-8080-exec-5] ERROR org.apache.tapestry5.ioc.Registry - [ 2] Streaming classpath:META-INF/assets/js/3rd-party/clipboard-polyfill.promise.js (compressed)
      20190105 22:07:58.126 [http-nio-8080-exec-5] ERROR org.apache.tapestry5.ioc.Registry - [ 3] Minimizing StreamableResource<text/javascript classpath:META-INF/assets/js/3rd-party/clipboard-polyfill.promise.js COMPRESSABLE lastModified: Sat Jan 05 22:07:25 CET 2019 size: 24061>
      20190105 22:07:58.246 [http-nio-8080-exec-5] ERROR o.a.t.m.T.RequestExceptionHandler - Processing of request failed with uncaught exception: {}
      org.apache.tapestry5.ioc.internal.OperationException: Illegal char <<> at index 18: StreamableResource<text/javascript classpath:META-INF/assets/js/3rd-party/clipboard-polyfill.promise.js COMPRESSABLE lastModified: Sat Jan 05 22:07:25 CET 2019 size: 24061>
      at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:186)
      at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:118)
      at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84)
      at org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1266)
      at org.apache.tapestry5.internal.webresources.AbstractMinimizer.minimize(AbstractMinimizer.java:67)
      at org.apache.tapestry5.internal.services.assets.MasterResourceMinimizer.minimize(MasterResourceMinimizer.java:42)
      at $ResourceMinimizer_2469ff1505ff6.minimize(Unknown Source)
      at org.apache.tapestry5.internal.services.assets.SRSMinimizingInterceptor.getStreamableResource(SRSMinimizingInterceptor.java:42)
      at org.apache.tapestry5.internal.services.assets.JavaScriptStackMinimizeDisabler.getStreamableResource(JavaScriptStackMinimizeDisabler.java:61)
      at org.apache.tapestry5.internal.services.assets.UTF8ForTextAssets.getStreamableResource(UTF8ForTextAssets.java:40)
      at org.apache.tapestry5.internal.services.assets.SRSCachingInterceptor.getStreamableResource(SRSCachingInterceptor.java:55)
      at org.apache.tapestry5.internal.services.assets.SRSCompressingInterceptor.getStreamableResource(SRSCompressingInterceptor.java:38)
      at org.apache.tapestry5.internal.services.assets.SRSCachingInterceptor.getStreamableResource(SRSCachingInterceptor.java:55)
      at $StreamableResourceSource_2469ff1505e6a.getStreamableResource(Unknown Source)
      at org.apache.tapestry5.internal.services.ResourceStreamerImpl$1.perform(ResourceStreamerImpl.java:114)
      at org.apache.tapestry5.internal.services.ResourceStreamerImpl$1.perform(ResourceStreamerImpl.java:107)
      at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
      at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84)
      at org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1266)
      at org.apache.tapestry5.internal.services.ResourceStreamerImpl.streamResource(ResourceStreamerImpl.java:106)
      at $ResourceStreamer_2469ff1505e97.streamResource(Unknown Source)
      at org.apache.tapestry5.internal.services.javascript.ModuleDispatcher$1.perform(ModuleDispatcher.java:167)
      at org.apache.tapestry5.internal.services.javascript.ModuleDispatcher$1.perform(ModuleDispatcher.java:158)
      at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
      at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84)
      at org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1266)
      at org.apache.tapestry5.internal.services.javascript.ModuleDispatcher.handleModuleRequest(ModuleDispatcher.java:155)
      at org.apache.tapestry5.internal.services.javascript.ModuleDispatcher.dispatch(ModuleDispatcher.java:105)
      at $Dispatcher_2469ff1505e9d.dispatch(Unknown Source)
      at $Dispatcher_2469ff1505e93.dispatch(Unknown Source)
      at org.apache.tapestry5.modules.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:305)
      at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
      at $RequestHandler_2469ff1505e94.service(Unknown Source)
      at org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:846)
      at $RequestHandler_2469ff1505e94.service(Unknown Source)
      at org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:836)
      at $RequestHandler_2469ff1505e94.service(Unknown Source)
      at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
      at $RequestHandler_2469ff1505e94.service(Unknown Source)
      at $RequestHandler_2469ff1505e7e.service(Unknown Source)
      at org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:256)
      at org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45)
      at $HttpServletRequestHandler_2469ff1505e80.service(Unknown Source)
      at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)
      at $HttpServletRequestHandler_2469ff1505e80.service(Unknown Source)
      at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:69)
      at $HttpServletRequestFilter_2469ff1505e7a.service(Unknown Source)
      at $HttpServletRequestHandler_2469ff1505e80.service(Unknown Source)
      at org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:72)
      at $HttpServletRequestFilter_2469ff1505e7d.service(Unknown Source)
      at $HttpServletRequestHandler_2469ff1505e80.service(Unknown Source)
      at org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:796)
      at $HttpServletRequestHandler_2469ff1505e80.service(Unknown Source)
      at $HttpServletRequestHandler_2469ff1505e79.service(Unknown Source)
      at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
      at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
      at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
      at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
      at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
      at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: java.nio.file.InvalidPathException: Illegal char <<> at index 18: StreamableResource<text/javascript classpath:META-INF/assets/js/3rd-party/clipboard-polyfill.promise.js COMPRESSABLE lastModified: Sat Jan 05 22:07:25 CET 2019 size: 24061>
      at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
      at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
      at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
      at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
      at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
      at com.google.javascript.jscomp.SourceMapResolver.getRelativePath(SourceMapResolver.java:102)
      at com.google.javascript.jscomp.SourceMapResolver.extractSourceMap(SourceMapResolver.java:63)
      at com.google.javascript.jscomp.JsAst.parse(JsAst.java:169)
      at com.google.javascript.jscomp.JsAst.getAstRoot(JsAst.java:56)
      at com.google.javascript.jscomp.CompilerInput.getAstRoot(CompilerInput.java:133)
      at com.google.javascript.jscomp.Compiler.hoistIfExtern(Compiler.java:1979)
      at com.google.javascript.jscomp.Compiler.hoistExterns(Compiler.java:1965)
      at com.google.javascript.jscomp.Compiler.orderInputs(Compiler.java:1819)
      at com.google.javascript.jscomp.Compiler.parseInputs(Compiler.java:1751)
      at com.google.javascript.jscomp.Compiler.parseForCompilationInternal(Compiler.java:965)
      at com.google.javascript.jscomp.Compiler.lambda$parseForCompilation$4(Compiler.java:948)
      at com.google.javascript.jscomp.CompilerExecutor.runInCompilerThread(CompilerExecutor.java:129)
      at com.google.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:856)
      at com.google.javascript.jscomp.Compiler.parseForCompilation(Compiler.java:946)
      at com.google.javascript.jscomp.Compiler.compile(Compiler.java:715)
      at org.apache.tapestry5.internal.webresources.GoogleClosureMinimizer.doMinimize(GoogleClosureMinimizer.java:92)
      at org.apache.tapestry5.internal.webresources.AbstractMinimizer$1.perform(AbstractMinimizer.java:72)
      at org.apache.tapestry5.internal.webresources.AbstractMinimizer$1.perform(AbstractMinimizer.java:68)
      at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
      ... 72 common frames omitted

      This is how the JS file is added in the AppModule Java class:

          @Contribute(ModuleManager.class)
          public static void contributeModuleManager(final MappedConfiguration<String, Object> configuration,
                  @Path("classpath:META-INF/assets/js/3rd-party/clipboard-polyfill.promise.js") final Resource clipboard) {
              configuration.add("clipboard", new JavaScriptModuleConfiguration(clipboard));
          }
      

      This only happens when -Dtapestry.production-mode=true

        Attachments

        1. clipboard-polyfill.promise.js
          23 kB
          Balázs Palcsó

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              balapal Balázs Palcsó
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: