Tapestry 5
  1. Tapestry 5
  2. TAP5-1726

JavaScript Assets fail to load for already-minified JS assets in Production mode

    Details

      Description

      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

        Activity

        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Status Open [ 1 ] Closed [ 6 ]
        Assignee Howard M. Lewis Ship [ hlship ]
        Fix Version/s 5.3 [ 12316024 ]
        Resolution Fixed [ 1 ]
        Lenny Primak created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development