Am 03.12.2020 um 15:49 schrieb Mark Thomas:
The proposed Apache Tomcat 8.5.61 release is now available for voting.

The notable changes compared to the 8.5.60 release are:

- Align the behaviour of ServletContext.getRealPath(String path) with
   the recent clarification from the Servlet specification project. If
   the path parameter does not start with / then Tomcat processes the
   call as if / is appended to the beginning of the provided path.

- Fix a potential file descriptor leak when WebSocket connections are
   attempted and fail. Patch provided by Maurizio Adami.

- Ensure that the LoadBalancerDrainingValve uses the correct setting
   for the secure attribute for any session cookies it creates. Based on
   a pull request by Andreas Kurth.

Along with lots of other bug fixes and improvements.

For full details, see the changelog:
https://ci.apache.org/projects/tomcat/tomcat85/docs/changelog.html

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.61/

The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1290/

The tag is:
https://github.com/apache/tomcat/tree/8.5.61
77d330abea52e4aeb039ca7eb8a766e0e1c56a71

The proposed 8.5.61 release is:
[ ] Broken - do not release
[ ] Stable - go ahead and release as 8.5.61

I don't know, whether this is new, but I observe a loop when running

"main" prio=3 tid=0x0002ac00 nid=0x2 waiting on condition [0xfe37e000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0xed612508> (a java.util.concurrent.CountDownLatch$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
        at org.apache.tomcat.util.net.TestSsl.testPost(TestSsl.java:153)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
...

The loop happens in

"Thread-8" prio=3 tid=0x00692800 nid=0x43 runnable [0xe5bff000]
   java.lang.Thread.State: RUNNABLE
        at sun.security.ssl.AppInputStream.read(AppInputStream.java:92)
        - locked <0xed614d38> (a sun.security.ssl.AppInputStream)
        at sun.security.ssl.AppInputStream.read(AppInputStream.java:69)
        - locked <0xed614d38> (a sun.security.ssl.AppInputStream)
        at org.apache.tomcat.util.net.TestSsl$1.run(TestSsl.java:128)

"Thread-8" prio=3 tid=0x00692800 nid=0x43 runnable [0xe5bff000]
   java.lang.Thread.State: RUNNABLE
        at org.apache.tomcat.util.net.TestSsl$1.run(TestSsl.java:128)


Another stack I captured was:

Thread t@67: (state = IN_JAVA)
- java.lang.StringBuilder.append(java.lang.String) @bci=2, line=132 (Compiled frame; information may be imprecise) - sun.security.ssl.SSLSocketImpl.checkEOF() @bci=96, line=1496 (Compiled frame) - sun.security.ssl.AppInputStream.read(byte[], int, int) @bci=46, line=92 (Compiled frame)
 - sun.security.ssl.AppInputStream.read() @bci=7, line=69 (Compiled frame)
- org.apache.tomcat.util.net.TestSsl$1.run() @bci=151, line=128 (Compiled frame)

The test loops using a lot of CPU, it is not just a hang.

This was an Solaris 10 Sparc using java 1.7.0_80.

It might be a test only problem though.

The process is still there in case we have an idea how to get more out of the running process.

Kind 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