Correct behavior verified as follows:
lxc launch ubuntu-daily:xenial tester && lxc exec tester bash
apt update && apt dist-upgrade -y && apt install -y tomcat8 && mkdir -p
/var/lib/tomcat8/webapps/test && echo '<%@ page
contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
Class.forName("org");
%>
</body>
</html>
' >/var/lib/tomcat8/webapps/test/test.jsp &&
service tomcat8 restart &&
curl localhost:8080/test/test.jsp
This results in the following erroneous jsp exception:
java.lang.StringIndexOutOfBoundsException: String index out of range: 3
java.lang.String.charAt(String.java:658)
org.apache.catalina.loader.WebappClassLoaderBase.filter(WebappClassLoaderBase.java:2802)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1143)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:264)
org.apache.jsp.test_jsp._jspService(test_jsp.java:116)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:401)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:345)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Upgrade to the version in proposed and re-run the test:
echo "deb http://archive.ubuntu.com/ubuntu xenial-proposed main restricted"
>>/etc/apt/sources.list &&
apt update &&
apt dist-upgrade -y &&
curl localhost:8080/test/test.jsp
This results in a jsp exception with a proper root cause:
java.lang.ClassNotFoundException: org
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1143)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:264)
org.apache.jsp.test_jsp._jspService(test_jsp.java:116)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:401)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:345)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1606331
Title:
StringIndexOutOfBoundsException - Tomcat8.0.32
To manage notifications about this bug go to:
https://bugs.launchpad.net/tomcat7/+bug/1606331/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs