[Bug 65599] Tomcat 8.5 cannot compile JSPs with Java 17 (System cannot be resolved)

2021-10-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=65599

Konstantin Kolinko  changed:

   What|Removed |Added

 Resolution|INVALID |WONTFIX

--- Comment #2 from Konstantin Kolinko  ---
Additional notes:
1. This is reproducible with Tomcat 8.5.72 (RC) and Java 17.0.0

a) The following unit test is failing (for all connectors):
org.apache.catalina.mapper.TestMapperWebapps

b) In the examples web application the following pages are failing to compile:
Servlet Examples -> async1 and async3
JSP Examples -> Include
http://localhost:8080/examples/async/async1
http://localhost:8080/examples/async/async3
http://localhost:8080/examples/jsp/include/include.jsp

All other pages are OK.


2. Looking the "Include" page example, when the error occurs,
there are TWO errors that are logged:

a) In localhost.*.log

The same error message, as seen on the failing JSP page,
[[[
02-Oct-2021 18:19:06.305 SEVERE [http-nio-8080-exec-1]
org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for
servlet [jsp] in context with path [/examples] threw exception [Unable to
compile class for JSP: 

An error occurred at line: [17] in the jsp file: [/jsp/include/foo.jsp]
System cannot be resolved
14:   See the License for the specific language governing permissions and
15:   limitations under the License.
16: 
17: --%><%= System.currentTimeMillis() %>


Stacktrace:] with root cause
 org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [17] in the jsp file: [/jsp/include/foo.jsp]
System cannot be resolved
14:   See the License for the specific language governing permissions and
15:   limitations under the License.
16: 
17: --%><%= System.currentTimeMillis() %>


Stacktrace:
  at
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:101)
  at
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
  at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:556)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:380)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
  at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:597)
  at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  at
org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  at
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196)
  at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
  at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
  at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
  at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
  at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)
  at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624)
  at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
  at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
  at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1650)
  at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.jav

Re: [VOTE] Release Apache Tomcat 8.5.72

2021-10-02 Thread Konstantin Kolinko
пт, 1 окт. 2021 г. в 18:47, Christopher Schultz :
>
> The proposed Apache Tomcat 8.5.72 release is now available for voting.
>
> The notable changes compared to 8.5.71 are:
>
> - Further robustness improvements to HTTP/2 flow control window
> management
>
> - Fix an issue that caused some Servlet non-blocking API reads of the
> HTTP request body to incorrectly use blocking IO.
>
> Along with lots of other bug fixes and improvements.
>
> For full details, see the changelog:
> https://ci.apache.org/projects/tomcat/tomcat-8.5.x/docs/changelog.html
>
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.72/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1337
> The tag is:
> https://github.com/apache/tomcat/tree/8.5.72
> 53c394049af76032bc7acab9de023013ad4fdc43
>
> The proposed 8.5.72 release is:
> [ ] Broken - do not release
> [x] Stable - go ahead and release as 8.5.72 (stable)

Notes:

1. Maven repo is still 404, and
2. Tomcat 8.5.72 is unusable with Java 17
unless ecj-4.6.3.jar is replaced with a later version. See
https://bz.apache.org/bugzilla/show_bug.cgi?id=65599

Tested on Windows 10.
Smoke tests OK with Java 7 (7u80)
Unit tests pass with Java 7, 8 and 11. (32-bit 7u80, 64-bit 8u302, 11.0.12).

Smoke tests and Unit tests fail with Java 17 (17.0.0):
I added details to  https://bz.apache.org/bugzilla/show_bug.cgi?id=65599#c2

Error handling in that case could be better,
but as this is not a regression (occurs with 8.5.71 as well, as
originally reported)
and there is no fix for the root cause, I do not consider it a showstopper.

I wonder whether now is the good time to decide on EOL schedule for Tomcat 8.5.

Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org