Crash when using java debugger and kafka

Roman Kennke rkennke at redhat.com
Wed Oct 30 19:42:39 UTC 2019


Hi Christopher,

I can reproduce the bug on RHEL8 with java 1.8.0_232.

It looks like we get a write-barrier in JVMTI when scanning for GC
roots, which is circular and must not happen.

Our recent jdk8 development introduced the new barrier model (LRB). I
tried your testcase with a recent build and it does not happen for me.
Can you try a suitable build from here:

https://builds.shipilev.net/openjdk-shenandoah-jdk8/

The fix will appear in one of the next releases of openjdk 8 package.

Let us know when still encounter problems.

Thanks,
Roman


> Using Shenandoah, the test case at this link:
> https://github.com/facboy/shenandoah-bug will hang consuming all cores, and
> becoming non-responsive to eg interrupts signals, etc.  the same does not
> happen if G1 is used.
> 
> I first came across this when debugging from an IDE (Intellij IDEA).  I
> haven't  really been able to work out why this is happening.  The JDK
> version is
> 
> openjdk version "1.8.0_222"
> OpenJDK Runtime Environment (build 1.8.0_222-b10)
> OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
> 
> running on CentOS Linux release 7.6.1810 (Core).
> 
> I suspect a race condition as turning up the logging (eg to info on Kafka)
> seems to stop the bug happening.  For the test case it seems that having
> the JVM listen (as opposed to connect to a running debugger) seems to also
> stop the bug, though in the main codebase where I first encountered this
> bug, this did not make a difference (ie the bug still occurred).  i also
> found that running strace (when trying to diagnose the issue with the main
> codebase) also stopped the bug happening.
> 



More information about the shenandoah-dev mailing list