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