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

Reply via email to