johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: Potential deadlock while classloading in JsonValue
Date Tue, 26 Feb 2019 07:13:33 GMT
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 <struberg@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
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message