Am 27.03.2017 um 14:56 schrieb Mark Thomas:
The proposed Apache Tomcat 9.0.0.M19 release is now available for voting.
This is a milestone release for the 9.0.x branch. It should be
noted that, as a milestone release:
- Servlet 4.0 is not finalised
- The EGs have not started work on JSP 2.4, EL 3.1 or WebSocket 1.2/2.0
The major changes compared to the 9.0.0.M18 release are:
- Various HTTP/2 improvements
- Fixes for sendfile related issues that could cause subsequent requests
to experience IllegalStateExceptions
- Servlet 4.0 updates
Along with lots of other bug fixes and improvements
For full details, see the changelog:
http://svn.apache.org/repos/asf/tomcat/trunk/webapps/docs/changelog.xml
It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.0.M19/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1125/
The svn tag is:
http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_9_0_0_M19/
The proposed 9.0.0.M19 release is:
[ ] Broken - do not release
[X] Alpha - go ahead and release as 9.0.0.M19
I know the vote is over but for the sake of completeness:
+1 to release as alpha.
Please see below for some details on increased number of NPE during
shutdown.
Details
=======
- SHA1 and MD5 OK
- signatures OK
- key in KEYS file
- gz and zip for src and bin consistent
- src consistent with svn tag
- except bin shell scripts are not executable in src tarball
(not critical)
- builds fine
- build result looks consistent with binaries
- no checkstyle complaints
- no Javadoc warnings
- Unit tests: No failures
- WARN messages:
- some message that were logged in M17 by localhost-startStop-1
are now logged by main
- the message "[main]
org.apache.tomcat.util.net.Nio2Endpoint.shutdownExecutor The executor
associated with thread pool [http-nio2-127.0.0.1-auto-I] has not fully
shutdown. Some application threads may still be running." (6 times) is
now gone
- the message
"org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads
The web application [ROOT] is still processing a request that has yet to
finish. This is very likely to create a memory leak. You can control the
time allowed for requests to finish by using the unloadDelay attribute
of the standard Context implementation. Stack trace of request
processing thread:" reduced from 18 times to 3 times
- more Tribes warnings (46 versus 72)
- more Tribes errors (7 versus 12)
- SEVERE message
- more "org.apache.coyote.http11.Http11Processor.service Error
processing request" (apr 3 versus 6, nio 3 versus 10)
- more "org.apache.coyote.http11.Http11Processor.endRequest Error
finishing response" (apr 1 versus 7, nio 1 versus 13)
- more
"org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
reading request, ignored" (apr 4 versus 6)
- new message "org.apache.catalina.core.StandardWrapperValve.invoke
Servlet.service() for servlet [jsp] in context with path [/test] threw
exception [Page-encoding specified in XML prolog (ISO-8859-1) is
different from that specified in jsp-property-group (UTF-8)] with root
cause" (one for apr, nio and nio2)
- less "org.apache.catalina.connector.CoyoteAdapter.asyncDispatch
Exception while processing an asynchronous request" (nio2 1 versus 0)
- no more "org.apache.catalina.core.StandardWrapperValve.invoke
Servlet.service() for servlet [simple] in context with path [] threw
exception"
- much less "org.apache.catalina.core.StandardHostValve.invoke
Exception Processing /simple" (apr, nio and nio2 5 each versus now only
one for nio)
- Exceptions: the biggest difference is more NullPointerException
(about 32 new ones). They seem to happen after the stop was issued and
only for apr and nio, not for nio2. Two cases:
- org.apache.coyote.http11.Http11Processor.endRequest Error
finishing response (20 times)
Stack
at
org.apache.coyote.http11.Http11OutputBuffer.commit(Http11OutputBuffer.java:329)
at
org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1000)
at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:258)
at
org.apache.coyote.http11.Http11Processor.endRequest(Http11Processor.java:1169)
Line 329 is:
socketWrapper.write(isBlocking(), headerBuffer);
Tests with this NPE (maybe it varies):
nio org.apache.catalina.connector.TestRequest [testBug57215f]
nio org.apache.catalina.core.TestApplicationContext [testBug53467]
nio org.apache.catalina.core.TestStandardContextResources
[testResourcesWebInfClasses]
nio org.apache.catalina.mbeans.TestRegistration [testMBeanDeregistration]
nio org.apache.catalina.startup.TestTomcat [testJsps]
nio org.apache.catalina.startup.TestTomcatClassLoader
[testDefaultClassLoader]
nio org.apache.el.TestELInJsp [testBug46596]
nio org.apache.jasper.compiler.TestEncodingDetector [testEncodedJsp[1]]
nio org.apache.jasper.compiler.TestEncodingDetector [testEncodedJsp[4]]
nio org.apache.jasper.compiler.TestGenerator
[testBug48701TagVariableInfoNameFromAttribute]
nio org.apache.jasper.compiler.TestGenerator [testBug45015a]
nio org.apache.jasper.compiler.TestJspConfig [testServlet23NoEL]
nio org.apache.jasper.compiler.TestJspConfig [testServlet30NoEL]
apr org.apache.catalina.core.TestApplicationMapping
[testContextRootMappingPath]
apr org.apache.catalina.core.TestStandardContext
[testWebappListenerConfigureFail]
apr org.apache.catalina.nonblocking.TestNonBlockingAPI
[testBug55438NonBlockingReadWriteEmptyRead]
apr org.apache.jasper.compiler.TestParserNoStrictWhitespace [testBug48627]
apr org.apache.jasper.compiler.TestScriptingVariabler [testBug48616b]
apr org.apache.jasper.compiler.TestValidator [testTldVersions25]
apr org.apache.tomcat.util.http.TestCookieProcessorGenerationHttp
[testUtf8CookieValue]
- org.apache.coyote.http11.Http11Processor.service Error processing
request (12 times)
Stack
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:393)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
Line 393 is:
request.getMappingData().context.logAccess(request, response,
System.currentTimeMillis() - req.getStartTime(), false);
Tests with this NPE (maybe it varies):
nio org.apache.catalina.core.TestApplicationContext [testBug53467]
nio org.apache.catalina.core.TestStandardContextResources
[testResourcesWebInfClasses]
nio org.apache.catalina.startup.TestTomcat [testJsps]
nio org.apache.jasper.compiler.TestEncodingDetector [testEncodedJsp[1]]
nio org.apache.jasper.compiler.TestEncodingDetector [testEncodedJsp[4]]
nio org.apache.jasper.compiler.TestGenerator
[testBug48701TagVariableInfoNameFromAttribute]
nio org.apache.jasper.compiler.TestGenerator [testBug45015a]
nio org.apache.jasper.compiler.TestJspConfig [testServlet23NoEL]
apr org.apache.catalina.core.TestStandardContext
[testWebappListenerConfigureFail]
apr org.apache.jasper.compiler.TestParserNoStrictWhitespace [testBug48627]
apr org.apache.jasper.compiler.TestScriptingVariabler [testBug48616b]
apr org.apache.tomcat.util.http.TestCookieProcessorGenerationHttp
[testUtf8CookieValue]
- JMX MBean Comparison with 9.0.0.M17:
- MBean Name:
Catalina:type=WebResourceRoot,host=localhost,context=/examples,name=Cache
size increased from 330 to 331
- Connector MBean new attribute
"ciphers: HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA"
- ProtocolHandler MBean
- attribute compressableMimeTypes additional list elements
"application/json" and "application/xml" as expected
- attribute compressibleMimeType String
",application/json,application/xml" appended to value
as expected
- additional attributes "truststoreType: JKS",
"sSLHonorCipherOrder: false", "keystorePass: changeit",
"trustMaxCertLength: 10", "truststoreAlgorithm: PKIX",
"algorithm: SunX509", "sSLDisableSessionTickets: false",
"sessionCacheSize: 0", "keystoreType: JKS",
"sslProtocol: TLS", "sSLVerifyDepth: 10",
"clientAuth: NONE", "sSLVerifyClient: NONE",
"ciphers: HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA",
"sSLCipherSuite: HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA",
"sSLDisableCompression: true", "keystoreFile: /home/.../.keystore",
"useServerCipherSuitesOrder: false"
Build and tests were done using Java 1.8.0_121. OS was Solaris 10 Sparc,
tcnative was 1.2.12 based on APR 1.5.2 and OpenSSL 1.0.2k.
Thanks for RM and regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org