[
https://issues.apache.org/jira/browse/TAP5-1729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13136253#comment-13136253
]
Howard M. Lewis Ship commented on TAP5-1729:
--------------------------------------------
Doing some research:
http://www.julienlecomte.net/blog/2008/10/80/
Apparently, YUICompressor introduces some hacks to Rhino, and does some
classloading tricks to make it work ... likely that is the problem, as Tomcat's
classloaders are complicated and are well known to cause other problems
(Tapestry has a number of hacks and patches to deal with Tomcat's class
loaders).
> Sometimes YUICompressor can fail with java.util.EmptyStackException
> -------------------------------------------------------------------
>
> Key: TAP5-1729
> URL: https://issues.apache.org/jira/browse/TAP5-1729
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-yuicompressor
> Affects Versions: 5.3
> Reporter: Howard M. Lewis Ship
> Priority: Blocker
>
> [ERROR] ioc.Registry java.util.EmptyStackException
> [ERROR] ioc.Registry Operations trace:
> [ERROR] ioc.Registry [ 1] Streaming asset stack en/core.js
> [ERROR] ioc.Registry [ 2] Minimizing JavaScript
> [ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
> with uncaught exception: org.apache.tapestry5.ioc.internal.OperationException
> org.apache.tapestry5.ioc.internal.OperationException
> 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:1109)
> 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_1250535a97d2196c.minimize(Unknown Source)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler.assembleStackContent(StackAssetRequestHandler.java:175)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler.assembleStackContent(StackAssetRequestHandler.java:163)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler.getUncompressedResource(StackAssetRequestHandler.java:146)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler.getResource(StackAssetRequestHandler.java:123)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler.access$100(StackAssetRequestHandler.java:40)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler$1.perform(StackAssetRequestHandler.java:103)
> 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:1109)
> at
> org.apache.tapestry5.internal.TapestryInternalUtils.performIO(TapestryInternalUtils.java:576)
> at
> org.apache.tapestry5.internal.services.assets.StackAssetRequestHandler.handleAssetRequest(StackAssetRequestHandler.java:96)
> at
> org.apache.tapestry5.internal.services.AssetDispatcher.dispatch(AssetDispatcher.java:109)
> at $Dispatcher_1250535a97d21963.dispatch(Unknown Source)
> at $Dispatcher_1250535a97d21967.dispatch(Unknown Source)
> at $Dispatcher_1250535a97d21961.dispatch(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
> at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> at $RequestHandler_1250535a97d21962.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
> at $RequestHandler_1250535a97d21962.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
> at $RequestHandler_1250535a97d21962.service(Unknown Source)
> at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
> at $RequestHandler_1250535a97d21962.service(Unknown Source)
> at group.app.web.services.AppModule$1.service(AppModule.java:90)
> at $RequestFilter_1250535a97d2195d.service(Unknown Source)
> at $RequestHandler_1250535a97d21962.service(Unknown Source)
> at $RequestHandler_1250535a97d21956.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
> at
> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
> at $HttpServletRequestHandler_1250535a97d21958.service(Unknown Source)
> at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at $HttpServletRequestFilter_1250535a97d21955.service(Unknown Source)
> at $HttpServletRequestHandler_1250535a97d21958.service(Unknown Source)
> at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
> at $HttpServletRequestHandler_1250535a97d21958.service(Unknown Source)
> at $HttpServletRequestHandler_1250535a97d21953.service(Unknown Source)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:680)
> Caused by: java.util.EmptyStackException
> at java.util.Stack.peek(Stack.java:85)
> at
> com.yahoo.platform.yui.compressor.JavaScriptCompressor.getCurrentScope(JavaScriptCompressor.java:559)
> at
> com.yahoo.platform.yui.compressor.JavaScriptCompressor.printSymbolTree(JavaScriptCompressor.java:1105)
> at
> com.yahoo.platform.yui.compressor.JavaScriptCompressor.compress(JavaScriptCompressor.java:553)
> at
> org.apache.tapestry5.internal.yuicompressor.JavaScriptResourceMinimizer.doMinimize(JavaScriptResourceMinimizer.java:98)
> 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)
> ... 66 more
> This is especially annoying because it is not failing on core.js, making it
> useless.
--
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