On 16.10.2013 20:21, Mark Thomas wrote: > The proposed Apache Tomcat 8.0.0 release candidate 5 is now available > for voting. > > Given this is a release candidate I am working on the basis that it is > equivalent to an alpha. The main changes since RC4 are: > - Stability fixes in the APR/native connector > - Stability fixes for non-blocking IO and WebSocket > - Improvements to unit tests to reduce incidence of false reports > - Add a drawing board example to the WebSocket examples > - A handful of bug fixes > - A small number of enhancements including direct gzip support in the > default Servlet > - More HTML clean-up > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.0-RC5/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-186/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_8_0_0_RC5/ > > The proposed 8.0.0-RC5 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC5 alpha
+1 as alpha. Overview: - MD5 OK - signatures OK - key in KEYS file - gz and zip for src and bin consistent - src consistent with svn tag - builds fine but - Few warning about unsafe or unchecked operations. Only 0 or 1 new one, some of the RC1 ones are fixed. See full list at end of mail. - build result looks consistent with binaries - no checkstyle complaints - no Javadoc warnings - some tiny MBean data changes - No unit test failures, great! - Warnings, errors and exception counts during unit tests a bit higher than for RC 3 - JMX MBean-Comparison with RC 3 (all expected): - MBean example webapp new welcome file index.xhtml - MBean example webapp ignoreAnnotations changed from false to true - Runtime MBean common.loader system property all entries are now quoted. Build and tests were done using Java 1.7.0_40. OS was Solaris 10 Sparc, tcnative was 1.1.29 based on APR 1.4.8 and OpenSSL 1.0.1e (plus a few patches). Unit test warnings: 95 - 29 more than RC1, 13 less than RC3 - most additional ones in tribes, especially from 27 (RC1) resp. 59 (RC3) to 46 (RC5): org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsgToNextInline Unable to send election message to:org.apache.catalina.tribes.membership.MemberImpl[tcp:// - 8 ones new in RC3, still in RC5: org.apache.tomcat.util.net.AbstractEndpoint.shutdownExecutor The executor associated with thread pool [http-apr-127.0.0.1-auto-I] has not fully shutdown. Some application threads may still be running. - up from 4 (RC3) to 6: IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[null]. Unit test SEVERE messages: 420 total (-19 rel RC1, -37 rel RC3). Here's the top 20 SEVERE messages: Count Message 48 org.apache.catalina.startup.HostConfig.deployDescriptor Error deploying configuration descriptor /.../output/test-tmp/conf/Tomcat/localhost/myapp.xml 48 org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 36 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [dispatch] in context with path [] threw exception [Opps.] with root cause 36 org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet error threw exception 27 org.apache.tomcat.util.digester.Digester.startElement Begin event threw exception 15 org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-N-thread-M] but has failed to stop it. This is very likely to create a memory leak. 15 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [servlet] in context with path [] threw exception 12 org.apache.tomcat.util.descriptor.web.SecurityConstraint.findUncoveredHttpMethods For security constraints with URL pattern [/] only the HTTP methods [POST] are covered. All other methods are uncovered. 9 org.apache.tomcat.util.descriptor.web.SecurityConstraint.findUncoveredHttpMethods For security constraints with URL pattern [/test] only the HTTP methods [POST] are covered. All other methods are uncovered. 9 org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/myapp] 9 org.apache.catalina.core.StandardContext.startInternal Error listenerStart 6 org.apache.tomcat.util.descriptor.web.SecurityConstraint.findUncoveredHttpMethods For security constraints with URL pattern [/] only the HTTP methods [GET] are covered. All other methods are uncovered. 6 org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.messageReceived Error processing coordination message. Could be fatal. 6 org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] 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. 6 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [regular] in context with path [] threw exception 6 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [jsp] in context with path [/test] threw exception [/bug49nnn/bug49297DuplicateAttr.jsp (line: 21, column: 46) Attribute qualified names must be unique within an element] with root cause 6 org.apache.catalina.core.StandardWrapperValve.event Servlet.service() for servlet [comet] in context with path [] threw exception 6 org.apache.catalina.core.StandardContext.startInternal Context [/myapp] startup failed due to previous errors 6 org.apache.catalina.core.StandardContext.listenerStart Skipped installing application listeners due to previous error(s) 6 org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class org.apache.catalina.core.NoSuchListener "Exception" in output of unit tests: 467 times (-8 rel. RC1, -26 rel RC5). Top exception counts: Count Exception 75 javax.servlet.ServletException: Opps. 48 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/myapp]] 48 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/myapp]] 48 Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@HEX] 39 Caused by: java.lang.IllegalArgumentException: The main resource set specified [/.../output/test-tmp/webapps/myapp] is not valid 9 org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/myapp] 9 java.lang.IllegalArgumentException: <ordering> element is limited to 1 occurrence 9 java.lang.IllegalArgumentException: <name> element is limited to 1 occurrence 9 java.lang.IllegalArgumentException: <absolute-ordering> element is limited to 1 occurrence 9 java.io.IOException: Invalid CRLF, no CR character encountered. 9 java.io.FileNotFoundException: /.../output/test-tmp/external/external.war (No such file or directory) 9 Caused by: java.lang.IllegalArgumentException: The main resource set specified [/.../output/test-tmp/external/external.war] is not valid 6 org.apache.jasper.JasperException: /bug49nnn/bug49297DuplicateAttr.jsp (line: 21, column: 46) Attribute qualified names must be unique within an element 6 org.apache.catalina.tribes.transport.nio.NioReplicationTask.run IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[null]. 6 java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided 6 java.lang.ClassNotFoundException: org.apache.catalina.core.NoSuchListener 5 org.apache.catalina.tribes.ChannelException: Sender not connected.; No faulty members identified. 5 java.lang.NullPointerException 4 javax.net.ssl.SSLProtocolException: handshake alert: no_certificate 4 java.lang.IllegalStateException As always I'm not claiming that any of the SEVERE or Exception messages are important. "unchecked" warnings likely the same as RC3: Tipis ===== All known .../java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:641: warning: [unchecked] unchecked cast entry = new MapEntry<>((K) mapmsg.getKey(), (V) mapmsg.getValue()); ^ required: K found: Serializable where K is a type-variable: K extends Object declared in class AbstractReplicatedMap /shared/build/dev/tomcat/read-write/trunk-clean/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:641: warning: [unchecked] unchecked cast entry = new MapEntry<>((K) mapmsg.getKey(), (V) mapmsg.getValue()); ^ required: V found: Serializable where V is a type-variable: V extends Object declared in class AbstractReplicatedMap .../java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:666: warning: [unchecked] unchecked cast if ( mapmsg.getValue()!=null ) entry.setValue((V) mapmsg.getValue()); ^ required: V found: Serializable where V is a type-variable: V extends Object declared in class AbstractReplicatedMap .../java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:672: warning: [unchecked] unchecked cast entry.setValue((V) re); ^ required: V found: ReplicatedMapEntry where V is a type-variable: V extends Object declared in class AbstractReplicatedMap .../java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:674: warning: [unchecked] unchecked cast if ( mapmsg.getValue()!=null ) entry.setValue((V) mapmsg.getValue()); ^ required: V found: Serializable where V is a type-variable: V extends Object declared in class AbstractReplicatedMap JDBC-Pool ========= .../modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java:973: warning: [unchecked] unchecked cast return (Class<? extends JdbcInterceptor>)clazz; ^ required: Class<? extends JdbcInterceptor> found: Class<CAP#1> where CAP#1 is a fresh type-variable: CAP#1 extends Object from capture of ? DBCP ==== All known: .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java:1782: warning: [unchecked] unchecked call to GenericObjectPool(PooledObjectFactory<T>,GenericObjectPoolConfig,AbandonedConfig) as a member of the raw type GenericObjectPool gop = new GenericObjectPool(factory, new GenericObjectPoolConfig(), ^ where T is a type-variable: T extends Object declared in class GenericObjectPool .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java:1786: warning: [unchecked] unchecked call to GenericObjectPool(PooledObjectFactory<T>) as a member of the raw type GenericObjectPool gop = new GenericObjectPool(factory); ^ where T is a type-variable: T extends Object declared in class GenericObjectPool .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java:1799: warning: [unchecked] unchecked conversion factory.setPool(gop); ^ required: ObjectPool<PoolableConnection> found: GenericObjectPool .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java:1800: warning: [unchecked] unchecked conversion connectionPool = gop; ^ required: GenericObjectPool<Connection> found: GenericObjectPool .../dbcp/src/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java:1180: warning: [unchecked] unchecked cast E item = (E)s.readObject(); ^ required: E found: Object where E is a type-variable: E extends Object declared in class LinkedBlockingDeque .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java:78: warning: [unchecked] unchecked call to returnObject(K,V) as a member of the raw type KeyedObjectPool _pool.returnObject(_key,this); ^ where K,V are type-variables: K extends Object declared in interface KeyedObjectPool V extends Object declared in interface KeyedObjectPool .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/PoolingConnection.java:290: warning: [unchecked] unchecked call to PoolablePreparedStatement(PreparedStatement,K,KeyedObjectPool<K,PoolablePreparedStatement<K,S>>,Connection) as a member of the raw type PoolablePreparedStatement new PoolablePreparedStatement(getDelegate().prepareStatement( key.getSql()), key, _pstmtPool, this)); ^ where K,S are type-variables: K extends Object declared in class PoolablePreparedStatement S extends PoolablePreparedStatement<K,S> declared in class PoolablePreparedStatement .../dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/PoolingConnection.java:298: warning: [unchecked] unchecked call to PoolablePreparedStatement(PreparedStatement,K,KeyedObjectPool<K,PoolablePreparedStatement<K,S>>,Connection) as a member of the raw type PoolablePreparedStatement new PoolablePreparedStatement(getDelegate().prepareStatement( ^ where K,S are type-variables: K extends Object declared in class PoolablePreparedStatement S extends PoolablePreparedStatement<K,S> declared in class PoolablePreparedStatement .../dbcp/src/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java:86: warning: [unchecked] unchecked cast (Class<? extends T>) clazz.getSuperclass(); ^ required: Class<? extends T> found: Class<CAP#1> where T is a type-variable: T extends Object declared in method <T>getGenericType(Class<T>,Class<? extends T>) where CAP#1,CAP#2 are fresh type-variables: CAP#1 extends Object super: CAP#2 from capture of ? super CAP#2 CAP#2 extends T from capture of ? extends T Regards, Rainer --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org