New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: A fatal error has been detected by the Java Runtime Environment SIGSEGV (0xb) #721
Comments
@jebbench We'll need the crash log to investigate. On the off chance this is fixed in 17.0.6 then you can wait a couple of weeks for that release. |
@karianna this is still occuring using 17.0.6. I will see if there's a way to retrieve the crash logs. |
@karianna I've been able to get the crash log: Let me know if there's anything else we can do or provide to help. |
Ah fun this is a Kotlin sourced crash, what version of Kotlin are you running? |
Afraid so, the application was built using Kotlin |
Any chance you're able to move to 1.8.10? |
Yes - we should be able to migrate to 1.8.10, but it could be a few weeks before I can get another crash log unless we get lucky and see one in our test environment (unless the upgrade fixes it 🤞). I'll start migrating our projects. |
Crash report using Kotlin 1.8.10. |
Interesting, also was reported #659 |
@jebbench Apologies for the run around but https://youtrack.jetbrains.com/issues/kt is the place you'll want to report this as Kotlin is emitting something that the C2 compiler doesn't like. |
Thanks, closing here (but if the Kotlin folks bounce it back we can look at opening up at OpenJDK proper itself). |
Hi, Kotlin Team here. Yes, it looks very much as a OpenJDK bug. The thing with coroutines is that we generate code, which is not possible to write in Java - we have non-canonical loops or jumps to catch blocks, which are likely to not be covered by tests. There was even an anekdot, that Graal could not compile coroutines code and run the whole module in interpreter mode. Additionally, if there was a bug in generated bytecode, it would lead to VerifyError. Also, there is an issue reported with same JDK version and same symptoms - SIGSEGV in C2 on coroutines code and is very sporadic https://youtrack.jetbrains.com/issue/KT-54693/SIGSEGV-0xb-at-pc0x0000000000000000-C2-CompilerThread0. |
Thanks @ilmirus - I'll get this reported upstream! |
This is still an issue in OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (but has apparently been resolved in OpenJDK 19 - I've not been able to verify though). |
@jebbench Would be good to understand the fix in 19 - is there a bug report or mail thread to reference? |
@karianna the thread I had been reading was this one: grpc/grpc-kotlin#370 (comment) |
Fixed by openjdk/jdk#14600 in JDK 22. Still needs to be downported to 17 & 21. |
the 17 backport PR is here: openjdk/jdk17u-dev#1580 |
Notice that this doesn't doesn't affect 11 because it was introduced by https://bugs.openjdk.org/browse/JDK-8238691 which only went int 15. |
I was just thinking the same thing, I'll remove the label |
Do we close or does it need a 21 backport? |
It went into 21 here: openjdk/jdk21#119 |
Please add the exact image (with tag) that you are using
eclipse-temurin:jdk-17
Please add the version of Docker you are running
Google Kubernetes Engine
What happened?
JVM crashed (crash log below) when under light load.
Unfortunately it was running on a container which was restarted after the crash so I can't access the error report files.
We've seen the crash occur twice, both times when the application was under light load.
The image was built using JIB (https://github.com/GoogleContainerTools/jib).We've now seen this occur in a container that was not built using JIB.Heap usage was around 1gb of 2gb allocated.
Relevant log output
The text was updated successfully, but these errors were encountered: