grpc-ecosystem / grpc-ecosystem/grpc-spring

`2.13.0.RELEASE` or later crashes JVM during deployment to k8s

Open
#625 11 comments 0 reactions 0 assignees View on GitHub
bug feedback required
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.