-
Notifications
You must be signed in to change notification settings - Fork 95
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
PubSub - 1.115.0 crashes JVM on JDK/JRE 17 #947
Comments
I was able to recreate this on 1.115.1 still. I was also able to recreate it on JDK 11.
|
To provide more detail, here's the code we're running: private var internalPublisher: Publisher?
init {
val channel = ManagedChannelBuilder.forTarget("localhost:7000").usePlaintext().build()
val channelProvider = FixedTransportChannelProvider.create(GrpcTransportChannel.create(channel))
val credentialsProvider = NoCredentialsProvider.create()
val topicName = ProjectTopicName.of(project, topic)
// GCP docs say to create this, but they don't use the variable for anything, having it changes nothing
TopicAdminClient.create(
TopicAdminSettings.newBuilder()
.setTransportChannelProvider(channelProvider)
.setCredentialsProvider(credentialsProvider)
.build()
)
internalPublisher = Publisher.newBuilder(topicName)
.setChannelProvider(channelProvider)
.setCredentialsProvider(credentialsProvider)
.build()
} Based off this example: https://cloud.google.com/pubsub/docs/emulator#accessing_environment_variables And here's the crash log: hs_err_pid329.log Again this happens only with 1.115.0 (or higher), doesn't happen with 1.114.7. If this is an Alpine issue, I can report it there, but since the change is in versions of the PubSub library, it seems related to this. Ironically, whatever code Spring is using to talk to the emulator in the application works fine, as we can still run the application, but our integration tests connecting to the emulator all fail with the core dump. It is also using 1.115.0 of the library. |
Still broken with 1.115.3 |
Still broken with 1.115.4 |
Still broken with 1.115.5 |
These issues may be related: netty/netty#11879, googleapis/java-secretmanager#692 @busches Do you happen to have a more detailed stack trace from the crash dump? |
@elefeint if this isn't what you're after, can you send an example? hs_err_pid329.log There is no java stacktrace itself, just the JVM crash. |
Sorry, I missed the link when reading. This is it.
|
@elefeint We're using the Spring BOM
Which then brings in the BOM you linked: https://github.com/GoogleCloudPlatform/spring-cloud-gcp/blob/main/spring-cloud-gcp-dependencies/pom.xml We are not using the OpenJDK image, we're using Alpine as the base, so there is no Alpine Slim tag to swap to. |
Here is a simple reproduction: https://github.com/busches/gcp-pubsub-crash
And you will see it immediately crashes. Adding:
|
I made my reproduction even easier, using Google's Bom: https://github.com/busches/gcp-pubsub-crash/blob/main/build.gradle.kts and then another using Spring Boot https://github.com/busches/gcp-pubsub-crash/blob/spring-boot-failure/build.gradle.kts |
Still present in 1.116.0 |
I think I'm running into same problem: adoptium/adoptium-support#465 |
grpc/grpc-java#8751 seems to be the same issue. Try the |
The problem is that |
Still having issues on 1.120.0 |
Still facing the same issue, Any solid solution? |
Based on grpc/grpc-java#8751, it looks like the long-term workaround remains the use of |
still crash with docker image: eclipse-temurin:17-jre-alpine with dependcy: |
Environment details
Steps to reproduce
com.google.cloud:google-cloud-pubsub:1.114.7
to1.115.0
Stack trace
The text was updated successfully, but these errors were encountered: