https://issues.apache.org/bugzilla/show_bug.cgi?id=54475
Robbie Gibson <robbie_use...@yahoo.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |robbie_use...@yahoo.co.uk --- Comment #5 from Robbie Gibson <robbie_use...@yahoo.co.uk> --- Created attachment 31415 --> https://issues.apache.org/bugzilla/attachment.cgi?id=31415&action=edit Failing servlet I downloaded JDK 1.8.0 (1.8.0-b132) and Ant 1.9.3. I downloaded Tomcat 7.0.52 and set up web.xml as specified, then removed ecj-4.3.1.jar and added tools.jar from the JDK and ant.jar, ant-launcher.jar from the Ant distribution. I am able to reproduce the failure with the attached servlet. Note that compiling servlets using JDK 1.8.0 works fine as long as the servlet files don't contain any lambdas, so removing the '.filter (s -> s.length () == 5)' causes the servlet to be correctly served. Adding a lambda causes the Java 8 compiler to add an InvokeDynamic target to the constant pool and triggers the SMAP failure. http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4 The exact exception is: java.io.IOException: unexpected tag: 18 at org.apache.jasper.compiler.SmapUtil$SDEInstaller.copyConstantPool(SmapUtil.java:431) at org.apache.jasper.compiler.SmapUtil$SDEInstaller.addSDE(SmapUtil.java:248) at org.apache.jasper.compiler.SmapUtil$SDEInstaller.<init>(SmapUtil.java:220) at org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:199) at org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:163) at org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:284) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:744) -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org