[ https://issues.apache.org/jira/browse/TAP5-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13138452#comment-13138452 ]
Howard M. Lewis Ship commented on TAP5-1726: -------------------------------------------- Any idea how to differentiate minimized JS from normal? I'm changing to code to log the minimization failure, but then stream the unminimized version. > JavaScript Assets fail to load for already-minified JS assets in Production > mode > -------------------------------------------------------------------------------- > > Key: TAP5-1726 > URL: https://issues.apache.org/jira/browse/TAP5-1726 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core, tapestry-yuicompressor > Affects Versions: 5.3, 5.4 > Reporter: Lenny Primak > > I have another vendor's minified JavaScript files as assets in my context > folder. > They are obfuscated and don't pass YUI compressor's syntax checking. > In this case, the process should still let the file through, but right now it > fails with HTTP 500 error: > So right now Tapestry can't load these assets. > SEVERE: Operations trace: > SEVERE: [ 1] Streaming > context:com.baw.website.gwt.table/sc/modules/ISC_Core.js > SEVERE: [ 2] Minimizing JavaScript > SEVERE: Processing of request failed with uncaught exception: Compilation > produced 6 syntax errors. > org.apache.tapestry5.ioc.internal.OperationException: Compilation produced 6 > syntax errors. > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:47) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:76) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1029) > at > org.apache.tapestry5.internal.TapestryInternalUtils.performIO(TapestryInternalUtils.java:576) > at > org.apache.tapestry5.internal.yuicompressor.AbstractMinimizer.minimize(AbstractMinimizer.java:62) > at > org.apache.tapestry5.internal.services.assets.MasterResourceMinimizer.minimize(MasterResourceMinimizer.java:44) > at $ResourceMinimizer_125025d36590963b.minimize(Unknown Source) > at > org.apache.tapestry5.internal.services.assets.SRSMinimizingInterceptor.getStreamableResource(SRSMinimizingInterceptor.java:44) > at > org.apache.tapestry5.internal.services.assets.SRSCachingInterceptor.getStreamableResource(SRSCachingInterceptor.java:56) > at > org.apache.tapestry5.internal.services.assets.SRSCompressingInterceptor.getStreamableResource(SRSCompressingInterceptor.java:40) > at > org.apache.tapestry5.internal.services.assets.SRSCachingInterceptor.getStreamableResource(SRSCachingInterceptor.java:56) > at > $StreamableResourceSource_125025d365909639.getStreamableResource(Unknown > Source) > at > org.apache.tapestry5.internal.services.ResourceStreamerImpl$1.perform(ResourceStreamerImpl.java:93) > at > org.apache.tapestry5.internal.TapestryInternalUtils$5.run(TapestryInternalUtils.java:582) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:51) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:48) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:47) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:76) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1029) > at > org.apache.tapestry5.internal.TapestryInternalUtils.performIO(TapestryInternalUtils.java:576) > at > org.apache.tapestry5.internal.services.ResourceStreamerImpl.streamResource(ResourceStreamerImpl.java:86) > at $ResourceStreamer_125025d365909623.streamResource(Unknown Source) > at > org.apache.tapestry5.internal.services.assets.ContextAssetRequestHandler.handleAssetRequest(ContextAssetRequestHandler.java:53) > at > org.apache.tapestry5.internal.services.AssetDispatcher.dispatch(AssetDispatcher.java:109) > at $Dispatcher_125025d365909634.dispatch(Unknown Source) > at $Dispatcher_125025d365909638.dispatch(Unknown Source) > at $Dispatcher_125025d365909632.dispatch(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302) > at > com.flowlogix.web.services.SecurityModule$1.service(SecurityModule.java:85) > at $RequestHandler_125025d365909633.service(Unknown Source) > at > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > at $RequestHandler_125025d365909633.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902) > at $RequestHandler_125025d365909633.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892) > at $RequestHandler_125025d365909633.service(Unknown Source) > at > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90) > at $RequestHandler_125025d365909633.service(Unknown Source) > at $RequestHandler_125025d365909628.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253) > at > com.flowlogix.web.services.internal.GwtCachingFilter.service(GwtCachingFilter.java:102) > at $HttpServletRequestHandler_125025d365909629.service(Unknown Source) > at > org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) > at $HttpServletRequestHandler_125025d365909629.service(Unknown Source) > at > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) > at $HttpServletRequestFilter_125025d365909626.service(Unknown Source) > at $HttpServletRequestHandler_125025d365909629.service(Unknown Source) > at > org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104) > at > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) > at > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) > at > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) > at > org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102) > at $HttpServletRequestFilter_125025d365909627.service(Unknown Source) > at $HttpServletRequestHandler_125025d365909629.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852) > at $HttpServletRequestHandler_125025d365909629.service(Unknown Source) > at $HttpServletRequestHandler_125025d365909622.service(Unknown Source) > at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > at > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) > at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) > at > com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) > at > org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) > at > com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:232) > at > com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828) > at > com.sun.grizzly.comet.CometEngine.executeServlet(CometEngine.java:444) > at com.sun.grizzly.comet.CometEngine.handle(CometEngine.java:308) > at > com.sun.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:87) > at > com.sun.grizzly.arp.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:171) > at > com.sun.grizzly.arp.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:143) > at > com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:94) > at com.sun.grizzly.http.TaskBase.run(TaskBase.java:193) > at com.sun.grizzly.http.TaskBase.execute(TaskBase.java:175) > at > com.sun.grizzly.arp.DefaultAsyncHandler.handle(DefaultAsyncHandler.java:145) > at > com.sun.grizzly.arp.AsyncProtocolFilter.execute(AsyncProtocolFilter.java:204) > at > com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) > at > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) > at > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) > at > com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) > at > com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) > at > com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) > at com.sun.grizzly.ContextTask.run(ContextTask.java:71) > at > com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) > at > com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) > at java.lang.Thread.run(Thread.java:680) > Caused by: org.mozilla.javascript.EvaluatorException: Compilation produced 6 > syntax errors. > at > org.apache.tapestry5.internal.yuicompressor.JavaScriptResourceMinimizer$1.runtimeError(JavaScriptResourceMinimizer.java:80) > at org.mozilla.javascript.Parser.parse(Parser.java:392) > at org.mozilla.javascript.Parser.parse(Parser.java:337) > at > com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312) > at > com.yahoo.platform.yui.compressor.JavaScriptCompressor.<init>(JavaScriptCompressor.java:533) > at > org.apache.tapestry5.internal.yuicompressor.JavaScriptResourceMinimizer.doMinimize(JavaScriptResourceMinimizer.java:97) > at > org.apache.tapestry5.internal.yuicompressor.AbstractMinimizer$1.perform(AbstractMinimizer.java:68) > at > org.apache.tapestry5.internal.TapestryInternalUtils$5.run(TapestryInternalUtils.java:582) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:51) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:48) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > ... 92 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira