David, On Thu, Sep 14, 2023 at 4:33 AM David Holmes <david.hol...@oracle.com> wrote: > I've created a draft PR here: > > https://github.com/openjdk/jdk/pull/15732 > > can you apply that patch, build and re-test? Hopefully that will show > which thread is doing the missing initialization.
We have attached the logs to the pull request above. Seems like a classic deadlock: '[8.061s][debug][class,init] Thread ForkJoinPool-1-worker-1 is initializing org.eclipse.jetty.http.HttpFields'. ... '[8.113s][debug][class,init] Thread ForkJoinPool-1-worker-2 is initializing org.eclipse.jetty.http.MutableHttpFields'. '[8.113s][debug][class,init] Thread ForkJoinPool-1-worker-2 waiting for initialization of org.eclipse.jetty.http.HttpFields by thread ForkJoinPool-1-worker-1'. ... '[8.117s][debug][class,init] Thread ForkJoinPool-1-worker-1 recursively initializing org.eclipse.jetty.http.HttpFields'. '[8.117s][debug][class,init] Thread ForkJoinPool-1-worker-1 waiting for initialization of org.eclipse.jetty.http.MutableHttpFields by thread ForkJoinPool-1-worker-2'. It is peculiar that we already get this deadlock for the same classes. Perhaps we are using a pattern in the code that makes it more likely to happen? 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