You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Volker Lamp (Jira)" <ji...@apache.org> on 2020/10/28 18:39:00 UTC

[jira] [Commented] (TAP5-2605) JS minimizer regression bug in 5.5.0-beta-1

    [ https://issues.apache.org/jira/browse/TAP5-2605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17222348#comment-17222348 ] 

Volker Lamp commented on TAP5-2605:
-----------------------------------

I created a minimalistic Tapestry app, available at https://github.com/vjlamp/TAP5_2605, to make it easier for anyone interested to reproduce the defective behavior.

> JS minimizer regression bug in 5.5.0-beta-1
> -------------------------------------------
>
>                 Key: TAP5-2605
>                 URL: https://issues.apache.org/jira/browse/TAP5-2605
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-webresources
>    Affects Versions: 5.5.0
>            Reporter: Balázs Palcsó
>            Priority: Major
>              Labels: regression
>         Attachments: clipboard-polyfill.promise.js
>
>
> 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]
>  
> {code:java}
> 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{code}
> This is how the JS file is added in the AppModule Java class:
> {code:java}
>     @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));
>     }
> {code}
> This only happens when -Dtapestry.production-mode=true



--
This message was sent by Atlassian Jira
(v8.3.4#803005)