On 20.09.2013 12:36, Mark Thomas wrote: > The proposed 8.0.0-RC3 release is: > [ ] Broken - do not release > [X] Alpha - go ahead and release as 8.0.0-RC3 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 small MBean data changes ! One unit test failure in TestWebappClassLoaderExecutorMemoryLeak - analysis ongoing, not a regression Repeated execution also sometimes show a hang in the unit test. - Warnings, errors and exception counts during unit tests a bit higher than for RC 1 - JMX MBean-Comparison with RC 1: - 2 new MBeans for Example servlets numberwriter and bytecounter - MBean j2eeType=Filter,name=Set Character Encoding, WebModule=//localhost/examples, ... attribute filterInitParameterMap changed from "{encoding=EUC_JP, ignore=true}" to "{encoding=UTF-8, ignore=false}" - MBean Catalina:j2eeType=WebModule,* - attributes tldNamespaceAware and tldValidation are gone - attribute tldScanTime is always 0 - MBean Catalina:type=Connector,* new attribute URIEncoding value UTF-8 - MBean Catalina:type=ProtocolHandler,port=8080 new attribute maxExtensionSize value 8192 (attribute does not exist for 8009 AJP ProtocolHandler but the attribute structure for those two MBeans is quite different from each other) - platform MBean java.lang:type=Runtime in system property tomcat.util.scan.StandardJarScanFilter.jarsToSkip new entry websocket-api.jar - platform MBean java.lang:type=OperatingSystem show 87 open file descriptors instead of 88 - platform MBean java.lang:type=Threading shows 19 threads instead of 18 threads Build and tests were done using Java 1.7.0_40. OS was Solaris 10 Sparc, tcnative was 1.1.28 based on APR 1.4.8 and OpenSSL 1.0.1e (plus a few patches). Unit test warnings: 108 - 42 more than RC1 - most additional ones in tribes, especially going up from 27 to 59: org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsgToNextInline Unable to send election message to:org.apache.catalina.tribes.membership.MemberImpl[tcp:// - 8 new ones: 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. - 2 ones gone: IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[null]. Unit test SEVERE messages: 457 total (+18 rel RC1). - 6 times SEVERE: Servlet.service() for servlet [regular] in context with path [] threw exception - 3 times SEVERE: Servlet.service() for servlet [servlet] in context with path [] threw exception - 7 times SEVERE: The web application [] appears to have started a thread named [pool-1-thread-X] but has failed to stop it. This is very likely to create a memory leak. - 2 times SEVERE: Exception while processing an asynchronous request - 4 times SEVERE: Error processing coordination message. Could be fatal. - 4 times less SEVERE: Error reading request, ignored - 4 times SEVERE: Error configuring application listener of class org.apache.tomcat.util.descriptor.web.ApplicationListener@HEX replaced with SEVERE: Error configuring application listener of class org.apache.catalina.core.NoSuchListener 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 21 org.apache.catalina.core.StandardContext.startInternal Error listenerStart 15 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [servlet] in context with path [] threw exception 13 org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application [] appears to have started a thread named [pool-x-thread-y] but has failed to stop it. This is very likely to create a memory leak. 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. 12 org.apache.catalina.core.StandardContext.startInternal Context [/examples] startup failed due to previous errors 12 org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class websocket.echo.WsConfigListener 10 org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.messageReceived Error processing coordination message. Could be fatal. 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] 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.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 "Exception" in output of unit tests: 493 times (+18 rel. RC1). - 6 times Exception in thread "WebSocketClient-AsyncIO-X" java.lang.IllegalStateException: Writing not allowed due to timeout or cancellation - 6 times java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided - 9 times instead of 3 times org.apache.catalina.tribes.ChannelException: Sender not connected.; No faulty members identified. - 3 times java.io.IOException: maxExtensionSize exceeded - 2 times org.apache.catalina.connector.CoyoteAdapter.asyncDispatch Exception while processing an asynchronous request and some other deltas 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 17 java.lang.NullPointerException 12 org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class websocket.echo.WsConfigListener 9 org.apache.catalina.tribes.ChannelException: Sender not connected.; No faulty members identified. 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 java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided 6 java.lang.ClassNotFoundException: org.apache.catalina.core.NoSuchListener 4 org.apache.catalina.tribes.transport.nio.NioReplicationTask.run IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[null]. 4 javax.net.ssl.SSLProtocolException: handshake alert: no_certificate As always I'm not claiming that any of the SEVERE or Exception messages are important. "unchecked" warnings during build: Tipis ===== All known [javac] /shared/build/dev/tomcat/read-write/trunk-clean/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:641: warning: [unchecked] unchecked cast [javac] entry = new MapEntry<>((K) mapmsg.getKey(), (V) mapmsg.getValue()); [javac] ^ [javac] required: K [javac] found: Serializable [javac] where K is a type-variable: [javac] K extends Object declared in class AbstractReplicatedMap [javac] /shared/build/dev/tomcat/read-write/trunk-clean/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:641: warning: [unchecked] unchecked cast [javac] entry = new MapEntry<>((K) mapmsg.getKey(), (V) mapmsg.getValue()); [javac] ^ [javac] required: V [javac] found: Serializable [javac] where V is a type-variable: [javac] V extends Object declared in class AbstractReplicatedMap [javac] /shared/build/dev/tomcat/read-write/trunk-clean/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:666: warning: [unchecked] unchecked cast [javac] if ( mapmsg.getValue()!=null ) entry.setValue((V) mapmsg.getValue()); [javac] ^ [javac] required: V [javac] found: Serializable [javac] where V is a type-variable: [javac] V extends Object declared in class AbstractReplicatedMap [javac] /shared/build/dev/tomcat/read-write/trunk-clean/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:672: warning: [unchecked] unchecked cast [javac] entry.setValue((V) re); [javac] ^ [javac] required: V [javac] found: ReplicatedMapEntry [javac] where V is a type-variable: [javac] V extends Object declared in class AbstractReplicatedMap [javac] /shared/build/dev/tomcat/read-write/trunk-clean/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java:674: warning: [unchecked] unchecked cast [javac] if ( mapmsg.getValue()!=null ) entry.setValue((V) mapmsg.getValue()); [javac] ^ [javac] required: V [javac] found: Serializable [javac] where V is a type-variable: [javac] V extends Object declared in class AbstractReplicatedMap JDBC-Pool ========= [javac] /shared/build/dev/tomcat/read-write/trunk-clean/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java:973: warning: [unchecked] unchecked cast [javac] return (Class<? extends JdbcInterceptor>)clazz; [javac] ^ [javac] required: Class<? extends JdbcInterceptor> [javac] found: Class<CAP#1> [javac] where CAP#1 is a fresh type-variable: [javac] CAP#1 extends Object from capture of ? DBCP ==== All known: [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/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 [javac] gop = new GenericObjectPool(factory, new GenericObjectPoolConfig(), [javac] ^ [javac] where T is a type-variable: [javac] T extends Object declared in class GenericObjectPool [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/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 [javac] gop = new GenericObjectPool(factory); [javac] ^ [javac] where T is a type-variable: [javac] T extends Object declared in class GenericObjectPool [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java:1799: warning: [unchecked] unchecked conversion [javac] factory.setPool(gop); [javac] ^ [javac] required: ObjectPool<PoolableConnection> [javac] found: GenericObjectPool [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/BasicDataSource.java:1800: warning: [unchecked] unchecked conversion [javac] connectionPool = gop; [javac] ^ [javac] required: GenericObjectPool<Connection> [javac] found: GenericObjectPool [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/dbcp/src/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java:1180: warning: [unchecked] unchecked cast [javac] E item = (E)s.readObject(); [javac] ^ [javac] required: E [javac] found: Object [javac] where E is a type-variable: [javac] E extends Object declared in class LinkedBlockingDeque [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/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 [javac] _pool.returnObject(_key,this); [javac] ^ [javac] where K,V are type-variables: [javac] K extends Object declared in interface KeyedObjectPool [javac] V extends Object declared in interface KeyedObjectPool [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/PoolingConnection.java:291: warning: [unchecked] unchecked call to PoolablePreparedStatement(PreparedStatement,K,KeyedObjectPool<K,PoolablePreparedStatement<K,S>>,Connection) as a member of the raw type PoolablePreparedStatement [javac] new PoolablePreparedStatement(getDelegate().prepareStatement( key.getSql()), key, _pstmtPool, this)); [javac] ^ [javac] where K,S are type-variables: [javac] K extends Object declared in class PoolablePreparedStatement [javac] S extends PoolablePreparedStatement<K,S> declared in class PoolablePreparedStatement [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp2/PoolingConnection.java:299: warning: [unchecked] unchecked call to PoolablePreparedStatement(PreparedStatement,K,KeyedObjectPool<K,PoolablePreparedStatement<K,S>>,Connection) as a member of the raw type PoolablePreparedStatement [javac] new PoolablePreparedStatement(getDelegate().prepareStatement( [javac] ^ [javac] where K,S are type-variables: [javac] K extends Object declared in class PoolablePreparedStatement [javac] S extends PoolablePreparedStatement<K,S> declared in class PoolablePreparedStatement [javac] /shared/build/dev/tomcat/deps/tomcat8-deps/tomcat8-deps/dbcp/src/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java:86: warning: [unchecked] unchecked cast [javac] (Class<? extends T>) clazz.getSuperclass(); [javac] ^ [javac] required: Class<? extends T> [javac] found: Class<CAP#1> [javac] where T is a type-variable: [javac] T extends Object declared in method <T>getGenericType(Class<T>,Class<? extends T>) [javac] where CAP#1,CAP#2 are fresh type-variables: [javac] CAP#1 extends Object super: CAP#2 from capture of ? super CAP#2 [javac] 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