After I build a recent gitiles master, I can't run it in tomcat7/8 because I'm getting a Servlet.init() for servlet gitiles threw exception with a Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/SettableFuture.
I can't build a much older version because bazel is not letting me, but I have checked that manually swapping the guava jar to a 26 fixes the issue. Guava 27 or 28 (or 28.2 as on master) have this problem.
I can run a local build using run_dev.sh on the same machine. The full exception I;'m getting in tomcat is
javax.servlet.ServletException: Servlet.init() for servlet gitiles threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:748)
root cause
com.google.template.soy.error.SoyCompilationException: errors during Soy compilation
/com/google/gitiles/templates/BlameDetail.soy:33: error: Unexpected error while compiling template: 'gitiles.blameDetail'
Soy Stack:
VarRefNode: /com/google/gitiles/templates/BlameDetail.soy:33:5
ExprRootNode: /com/google/gitiles/templates/BlameDetail.soy:33:5
IfNode: /com/google/gitiles/templates/BlameDetail.soy:33:1
Compiler Stack:
com.google.template.soy.jbcsrc.UnexpectedCompilerFailureException: unexpected compile failure
while compiling:
VarRefNode: /com/google/gitiles/templates/BlameDetail.soy:33:5
ExprRootNode: /com/google/gitiles/templates/BlameDetail.soy:33:5
IfNode: /com/google/gitiles/templates/BlameDetail.soy:33:1
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/SettableFuture
at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3472)
at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2134)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045)
at com.google.common.cache.LocalCache.get(LocalCache.java:3951)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4964)
at com.google.template.soy.jbcsrc.restricted.BytecodeUtils.doIsAssignableFrom(BytecodeUtils.java:203)
at com.google.template.soy.jbcsrc.restricted.BytecodeUtils.isDefinitelyAssignableFrom(BytecodeUtils.java:184)
at com.google.template.soy.jbcsrc.ExpressionDetacher$BasicDetacher.resolveSoyValueProvider(ExpressionDetacher.java:132)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visitParam(ExpressionCompiler.java:779)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visitParam(ExpressionCompiler.java:287)
at com.google.template.soy.jbcsrc.EnhancedAbstractExprNodeVisitor.visitVarRefNode(EnhancedAbstractExprNodeVisitor.java:64)
at com.google.template.soy.exprtree.AbstractReturningExprNodeVisitor.visit(AbstractReturningExprNodeVisitor.java:100)
at com.google.template.soy.jbcsrc.EnhancedAbstractExprNodeVisitor.visit(EnhancedAbstractExprNodeVisitor.java:38)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visit(ExpressionCompiler.java:315)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visitExprRootNode(ExpressionCompiler.java:320)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visitExprRootNode(ExpressionCompiler.java:287)
at com.google.template.soy.exprtree.AbstractReturningExprNodeVisitor.visit(AbstractReturningExprNodeVisitor.java:77)
at com.google.template.soy.jbcsrc.EnhancedAbstractExprNodeVisitor.visit(EnhancedAbstractExprNodeVisitor.java:38)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visit(ExpressionCompiler.java:315)
at com.google.template.soy.jbcsrc.ExpressionCompiler$CompilerVisitor.visit(ExpressionCompiler.java:287)
at com.google.template.soy.basetree.AbstractReturningNodeVisitor.exec(AbstractReturningNodeVisitor.java:39)
at com.google.template.soy.jbcsrc.ExpressionCompiler$BasicExpressionCompiler.compile(ExpressionCompiler.java:143)
at com.google.template.soy.jbcsrc.ExpressionCompiler.compile(ExpressionCompiler.java:242)
at com.google.template.soy.jbcsrc.ExpressionCompiler.compile(ExpressionCompiler.java:254)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.visitIfNode(SoyNodeCompiler.java:281)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.visitIfNode(SoyNodeCompiler.java:125)
at com.google.template.soy.soytree.AbstractReturningSoyNodeVisitor.visit(AbstractReturningSoyNodeVisitor.java:101)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.visit(SoyNodeCompiler.java:250)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.visit(SoyNodeCompiler.java:125)
at com.google.template.soy.basetree.AbstractReturningNodeVisitor.visitChildren(AbstractReturningNodeVisitor.java:59)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.visitChildrenInNewScope(SoyNodeCompiler.java:267)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.compile(SoyNodeCompiler.java:238)
at com.google.template.soy.jbcsrc.SoyNodeCompiler.compile(SoyNodeCompiler.java:224)
at com.google.template.soy.jbcsrc.TemplateCompiler.generateRenderMethod(TemplateCompiler.java:284)
at com.google.template.soy.jbcsrc.TemplateCompiler.compile(TemplateCompiler.java:171)
at com.google.template.soy.jbcsrc.BytecodeCompiler.compileTemplates(BytecodeCompiler.java:277)
at com.google.template.soy.jbcsrc.BytecodeCompiler.compile(BytecodeCompiler.java:107)
at com.google.template.soy.SoyFileSet.doCompileSoySauce(SoyFileSet.java:920)
at com.google.template.soy.SoyFileSet.lambda$compileTemplates$8(SoyFileSet.java:888)
at com.google.template.soy.SoyFileSet.entryPoint(SoyFileSet.java:643)
at com.google.template.soy.SoyFileSet.compileTemplates(SoyFileSet.java:884)
at com.google.template.soy.SoyFileSet.compileTemplates(SoyFileSet.java:868)
at com.google.gitiles.DefaultRenderer.<init>(DefaultRenderer.java:52)
at com.google.gitiles.DefaultRenderer.<init>(DefaultRenderer.java:34)
at com.google.gitiles.GitilesFilter.setDefaultRenderer(GitilesFilter.java:334)
at com.google.gitiles.GitilesFilter.setDefaultFields(GitilesFilter.java:306)
at com.google.gitiles.GitilesFilter.init(GitilesFilter.java:211)
at com.google.gitiles.GitilesServlet.init(GitilesServlet.java:105)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1199)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1143)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:822)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
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)
After I build a recent gitiles master, I can't run it in tomcat7/8 because I'm getting a
Servlet.init() for servlet gitiles threw exception
with aCaused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/SettableFuture
.I can't build a much older version because bazel is not letting me, but I have checked that manually swapping the guava jar to a 26 fixes the issue. Guava 27 or 28 (or 28.2 as on master) have this problem.
I can run a local build using run_dev.sh on the same machine. The full exception I;'m getting in tomcat is