Java 21 clinit deadlock

Simone Bordet simone.bordet at gmail.com
Tue Sep 12 08:35:19 UTC 2023


David,

On Mon, Sep 11, 2023 at 9:29 AM Simone Bordet <simone.bordet at gmail.com> wrote:
>
> Hi,
>
> On Mon, Sep 11, 2023 at 7:22 AM David Holmes <david.holmes at oracle.com> wrote:
> > I've looked at the dump and there is no sign that the MutableHttpFields
> > is actively in use. It suggests to me that class initialization has
> > failed but the class state has not been correctly updated and the
> > waiters released. There were some changes in JDK 21 about how failures
> > in this area were handled, so it is possible I/we got something wrong.
> > Is it possible to try running this with additional logging enabled e.g.
> >
> > -Xlog:class+init=debug -Xlog:exceptions=debug
>
> We will try this, than you!

Here is another failed run:
JVM threads dump: https://gist.github.com/olamy/b3e20a76f0fc77232882b9be95db47e1
JVM output (gist is truncated, download full file):
https://gist.githubusercontent.com/olamy/86f0a1215c722e5e9acf96cae597422e/raw/4404693c39fd767122d34a7a3dde1d797afa6f25/gistfile1.txt

The JVM stops outputting at 2.360s, then we have a Jetty idle timeout
after 30 seconds, then we see:

[51.472s][debug][exceptions] Thread::clear_pending_exception: cleared
exception:java.lang.VirtualMachineError '.

And then more log lines follow after another 5 minutes.

Let us know your findings.

Thanks!

-- 
Simone Bordet
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz


More information about the core-libs-dev mailing list