corretto / corretto-21

GNU General Public License v2.0
75 stars 21 forks source link

JRE crashing on V [libjvm.so+0x4e2c7a] ExceptionMessageBuilder::print_NPE_cause0(outputStream*, int, int, int, bool, char const*) [clone .part.33]+0x2a #45

Open tommisc opened 9 months ago

tommisc commented 9 months ago

I got this crash when running our loadtest code. I don't have exact steps to reproduce as this happened in 1 of 30 servers running same code

Platform information

OS: Amazon linux 2 (4.14.334-252.552.amzn2.x86_64)
Version openjdk version "21.0.2" 2024-01-16 LTS OpenJDK Runtime Environment Corretto-21.0.2.13.1 (build 21.0.2+13-LTS)

Additional context

tommisc commented 9 months ago

hs_err_pid17047.log

earthling-amzn commented 9 months ago

I haven't seen this crash before and I don't see anything like it in the Java bug database. Hopefully you can help us debug this.

  1. First, if this crash is disrupting your application, you should be able to disable this behavior with -XX:-ShowCodeDetailsInExceptionMessages.
  2. The crash log shows that you are using ZGC. Would you be able to run your load tests with a different collector? Perhaps G1?
  3. Corretto provides fastdebug builds of the latest commit in 21. These are optimized builds, but they have asserts enabled. The asserts will slow down execution, but they may also help us pinpoint the problem.
eastig commented 9 months ago

Hi @tommisc, You got SIGSEGV SI_KERNEL. I see you are using Z GC. I have found https://bugs.openjdk.org/browse/JDK-8294003. This issue might be related to Z GC.

@shipilev, any ideas to check?

shipilev commented 9 months ago

I think what @earthling-amzn said above makes sense. It would be interesting to see if we catch any asserts with fastdebug builds. We have already backported a few things to 21.0.3 that fix Generational ZGC, not sure if they matter for this config or not.