Describe the issue
I have a Quarkus app that, when compiled to native linux x86_64 and run in docker, crashes in GC. Crash timing is immediately on container start, or a bit later, depending on memory settings (faster crash with lower heap memory). Rolling back to 20.1 solved the issue.
Steps to reproduce the issue
It's a proprietary app, with a bunch of dependencies, so isolating the minimal repro is difficult. Hopefully crash info will provide some insight into what's going on.
Describe GraalVM and your environment:
- GraalVM CE 20.2, 20.3
- JDK major version: 11
- OS: linux
- Architecture: x86_64
More details
Here is the example of crash info in container logs:
https://pastebin.com/THUHuDUd
All crashes follow the same pattern - stack trace points to GC logic (OldGeneration.promoteObject and up), which is called from somewhere in user code (GC is triggered from different location every crash).
Here is the command line used to make native image:
/home/gitlab-runner/.sdkman/candidates/java/20.3.0.r11-grl/bin/native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-DCoordinatorEnvironmentBean.transactionStatusManagerEnable=false -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=1 -J-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true -J-Duser.language=en -J-Dfile.encoding=UTF-8 -J-Dfile.encoding=UTF-8 -H:ResourceConfigurationFiles=resources-config.json -H:ReflectionConfigurationFiles=reflection-config.json,reflection-poi.json --report-unsupported-elements-at-runtime --allow-incomplete-classpath --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -jar equeue-0.2.26-runner.jar -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http,https --enable-all-security-services --no-server -H:-UseServiceLoaderFeature -H:+StackTrace equeue-0.2.26-runner
Describe the issue
I have a Quarkus app that, when compiled to native linux x86_64 and run in docker, crashes in GC. Crash timing is immediately on container start, or a bit later, depending on memory settings (faster crash with lower heap memory). Rolling back to 20.1 solved the issue.
Steps to reproduce the issue
It's a proprietary app, with a bunch of dependencies, so isolating the minimal repro is difficult. Hopefully crash info will provide some insight into what's going on.
Describe GraalVM and your environment:
More details
Here is the example of crash info in container logs:
https://pastebin.com/THUHuDUd
All crashes follow the same pattern - stack trace points to GC logic (OldGeneration.promoteObject and up), which is called from somewhere in user code (GC is triggered from different location every crash).
Here is the command line used to make native image: