Probably a bug
Kirill A. Korinsky
kirill at korins.ky
Tue Feb 18 20:12:48 UTC 2020
Hi Aleksey,
Let me makes things as clear as I can.
You can see the full code of used java class here: https://gist.github.com/catap/f753e5d12409be8ab19135b40769c3db <https://gist.github.com/catap/f753e5d12409be8ab19135b40769c3db>
The issue: `next` field is loosing its value at some point, and as very sad side effect it brokes akka scheduler by moving it to infinity loop that can be interrupted only by kill of jvm.
The Log that is related only to object that had this issue:
DEBUG AbstractNodeQueue: - [setNext] (Node(2576)) ; newNext: Node(3179); next: Node(3179); next(): Node(3179)
DEBUG AbstractNodeQueue: - [pollNode] (Node(2576)); tail.next(): null; tail.next: null
How you can see the object `Node(2576)` had `next` field with value `Node(3179)` that was lost at some point.
--
wbr, Kirill
> On 18. Feb 2020, at 20:25, Aleksey Shipilev <shade at redhat.com> wrote:
>
> Hi Kirill,
>
> On 2/18/20 5:04 PM, Kirill A. Korinsky wrote:
>> Looks like it is Shenandoah bug
>
> Might be!
>
>> As soon as I replaced it `getObjectVolatile` and `putOrderedObject` to direct access to volatile nothing is changed.
>
> Mmm. As soon as you did something, nothing changed?
>
> Sorry, I don't understand what are you trying to say with this experiment. Could you please say how
> do you interpret this logging data and what hypothesis it supposed to confirm? Please ELI5 this,
> because we don't have the entire context for what you are seeing there in the debugging trenches.
>
> --
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list