hmm, thiking out loud: can you add a @Startup (or equivalent) which triggers the <cinit>?
Romain Manni-Bucau @rmannibucau <https://twitter.com/rmannibucau> | Blog <https://rmannibucau.metawerx.net/> | Old Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book <https://www.packtpub.com/application-development/java-ee-8-high-performance> Le mar. 26 févr. 2019 à 09:25, Mark Struberg <strub...@yahoo.de.invalid> a écrit : > The point is that <init> does NOT show up in the stack trace. So it must > be cinit. > Also a pointer is that the thread is in state RUNNABLE but blocked by > Object.wait().Which is often a classic classloader block issue. > But yeah, hard to reproduce :/ > > LieGrue,strub > > On Tuesday, 26 February 2019, 08:13:57 CET, Romain Manni-Bucau < > rmannibu...@gmail.com> wrote: > > Hi Mark > > If you can reproduce it a lazy init in the g spec would be eady to test > > That said if it is in init it is after cinit so in the constructor. > > Can it be the buffer strategy config you run with? > > Romain > > Le mar. 26 févr. 2019 à 07:57, Mark Struberg <strub...@yahoo.de.invalid> a > écrit : > > > Hi folks! > > We've seen a mysterious deadlock in Johnzon on startup under heavy load. > > > > > > java.lang.Thread.State: RUNNABLE > > at > > > org.apache.johnzon.core.JsonArrayBuilderImpl.build(JsonArrayBuilderImpl.java:319) > > -- > > java.lang.Thread.State: RUNNABLE > > at > > > org.apache.johnzon.core.JsonReaderImpl.parseObject(JsonReaderImpl.java:189) > > -- > > java.lang.Thread.State: RUNNABLE > > at > > > org.apache.johnzon.core.JsonReaderImpl.parseObject(JsonReaderImpl.java:206) > > -- > > > > Those are the locations which are stuck. > > > > All of them seem to hang on a new() for the following: JsonArrayImpl, > > JsonLongImpl, JsonStringImpl.But the stack trace does NOT contain the > > actual call code inside the <init>.So my conclusio for now is that it > fails > > to load the Class. > > I suspect that the classloading of JsonValue is to blame. > > > > JsonValue contains a few static fields. And those fields do load the > WHOLE > > JsonProvider!So while doing the init of JsonValue it might well be that > > another thread tries to load some other class subsequently needed by > > JsonValue.<init>. > > Of course if this is really the case, then it's a problem in the spec API > > and probably not in Johnzon itself. > > > > Wdyt? > > LieGrue,strub > > > >