grpc-ecosystem / grpc-ecosystem/grpc-spring
`2.13.0.RELEASE` or later crashes JVM during deployment to k8s
- Dominant language
- Java
- Stars
- 3.7k
- Forks
- 858
- PR merge metrics
- No merged PRs in 30d
Description
**The context**
We would like to upgrade the dependency version of `net.devh:grpc-server-spring-boot-starter` in our Gradle build script for our microservice.
**The bug**
The application does not start if using version `2.13.0.RELEASE` or later. That makes the deployment fail.
**Stacktrace and logs**
```
# https://github.com/corretto/corretto-17/issues/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
#
# If you would like to submit a bug report, please visit:
# Core dump will be written. Default location: //core.1
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid1.log
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000000003efe, pid=1, tid=7
#
# JRE version: OpenJDK Runtime Environment Corretto-17.0.1.12.1 (17.0.1+12) (build 17.0.1+12-LTS)
# Java VM: OpenJDK 64-Bit Server VM Corretto-17.0.1.12.1 (17.0.1+12-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, serial gc, linux-amd64)
# Problematic frame:
# C 0x0000000000003efe
#
```
**Steps to Reproduce**
It happens just right after deploying the application to our AWS QA K8S environment. Build, unit and integration tests work fine. Also running the application locally (with docker or through IntelliJ works).
**The application's environment**
Which versions do you use?
* Spring (boot): 2.6.2
* grpc-spring-boot-starter: 2.13.0.RELEASE, 2.13.1.RELEASE
* kotlin: 1.6.10
* JRE version: OpenJDK Runtime Environment Corretto-17.0.1.12.1 (17.0.1+12) (build 17.0.1+12-LTS)
* Java VM: OpenJDK 64-Bit Server VM Corretto-17.0.1.12.1
**Additional context**
With version `2.12.0.RELEASE` everything works fine.
* Did it ever work before?
Yes, up to version `2.12.0.RELEASE`.
* Do you have a demo?
No
Contributor guide
Research direction
No files or tests are named. Start by reproducing the deployment with grpc-spring-boot-starter 2.12.0.RELEASE versus 2.13.0/2.13.1 on Corretto 17 in the AWS Kubernetes environment, then inspect the dependency changes and JVM crash report. Done means the application starts successfully with the newer dependency without a native JVM crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, grpc, java, kotlin, kubernetes, spring-boot
- Domain
- backend, cloud, devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100