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: [email protected]
For additional commands, e-mail: [email protected]