Skip to content

Instantly share code, notes, and snippets.

@galderz
Created December 4, 2023 16:09
Show Gist options
  • Save galderz/ab45a76314208779e9128abd02122716 to your computer and use it in GitHub Desktop.
Save galderz/ab45a76314208779e9128abd02122716 to your computer and use it in GitHub Desktop.
[INFO] --- quarkus:3.6.0:build (default) @ debugging-native ---
[INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /Users/galder/tmp/debugging-native/target/debugging-native-1.0.0-SNAPSHOT-native-image-source-jar/debugging-native-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /Users/galder/tmp/debugging-native/target/debugging-native-1.0.0-SNAPSHOT-native-image-source-jar/debugging-native-1.0.0-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildContainerRunner] Using podman to run the native image builder
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildContainerRunner] Checking status of builder image 'quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21'
Trying to pull quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21...
Getting image source signatures
Copying blob sha256:bc3c8deff55307a9c13f25c47dbf6ad5d1b11880f93c884208623b79c0a1d045
Copying blob sha256:a61a699f0b9490bb2e78d20e4b308d95dacb58e5bcdf268e926f48c752b2612e
Copying blob sha256:fd606a8379acf2a7317778ef0b74927a32ebf7cebb5f77dc845e125b0dbeaf54
Copying blob sha256:b8bdfecd2982ad6277dd1334a3c7b1f34c22f9adb3602ec5dfddffa4016a23ac
Copying blob sha256:67195eca0c3bfad9a2ebe085a630d510c46a0d51439ac83b3f9f164cda68099f
Copying blob sha256:df43ec6bdee6b5770682a5f28dc42062d5576892d5c9286e7b1ea76ff106dff5
Copying blob sha256:8df72bf01184af792ba05e3e51ff60bc1ff789d3d9142a17b9aeeae6713bcbf4
Copying blob sha256:4d6a96da36831a9ad5ab980dad0d3a5795a645422a7074ed0b241ece9d9d729d
Copying blob sha256:088d34b9b23d66c44a4d0248a2de68d21a8d09ec124b62298a23274e21d8e01b
Copying blob sha256:7250cc8b30432a1270a87c0312ac2e33a520d8ae62d0d8aef8300a385ff3e4f1
Copying blob sha256:e07254c05869f2d23a4f83077ca23ce20e8474795e8bc95a3b77fcef6f924ca7
Copying blob sha256:011198b2c021e88b397fc400908cb0053c2e509ffcfcac47044312cf55ed28b9
Copying blob sha256:ff27de3e455de0929e8f0a3e5a3b5946af97c1c763ace6f3b3180813616914d7
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying config sha256:7d6b7fcafa933612e23adaa945dd757c0cab2c5d207b05780a686b17d51100a9
Writing manifest to image destination
7d6b7fcafa933612e23adaa945dd757c0cab2c5d207b05780a686b17d51100a9
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on MANDREL 23.1.1.0 JDK 21.0.1+12-LTS
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] podman run --env LANG=C --rm --user 501:20 --userns=keep-id -v /Users/galder/tmp/debugging-native/target/debugging-native-1.0.0-SNAPSHOT-native-image-source-jar:/project --name build-native-pPLpQ quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21 -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Dlogging.initial-configurator.min-level=500 -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=3 -J-Duser.language=en -J-Duser.country=001 -J-Dfile.encoding=UTF-8 --features=io.quarkus.runner.Feature,io.quarkus.runtime.graal.DisableLoggingFeature -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -J--add-opens=java.base/java.io=ALL-UNNAMED -J--add-opens=java.base/java.lang.invoke=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -H:+UnlockExperimentalVMOptions -H:BuildOutputJSONFile=debugging-native-1.0.0-SNAPSHOT-runner-build-output-stats.json -H:-UnlockExperimentalVMOptions --strict-image-heap -H:+UnlockExperimentalVMOptions -H:+AllowFoldMethods -H:-UnlockExperimentalVMOptions -J-Djava.awt.headless=true --no-fallback --link-at-build-time -H:+UnlockExperimentalVMOptions -H:+ReportExceptionStackTraces -H:-UnlockExperimentalVMOptions -H:-AddAllCharsets --enable-url-protocols=http --enable-monitoring=heapdump -H:+UnlockExperimentalVMOptions -H:-UseServiceLoaderFeature -H:-UnlockExperimentalVMOptions -J--add-exports=org.graalvm.nativeimage/org.graalvm.nativeimage.impl=ALL-UNNAMED --exclude-config io\.netty\.netty-codec /META-INF/native-image/io\.netty/netty-codec/generated/handlers/reflect-config\.json --exclude-config io\.netty\.netty-handler /META-INF/native-image/io\.netty/netty-handler/generated/handlers/reflect-config\.json debugging-native-1.0.0-SNAPSHOT-runner -jar debugging-native-1.0.0-SNAPSHOT-runner.jar
Warning: The option '-H:ReflectionConfigurationResources=META-INF/native-image/io.netty/netty-transport/reflection-config.json' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue.
========================================================================================================================
GraalVM Native Image: Generating 'debugging-native-1.0.0-SNAPSHOT-runner' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
[1/8] Initializing... (6.9s @ 0.12GB)
Java version: 21.0.1+12-LTS, vendor version: Mandrel-23.1.1.0-Final
Graal compiler: optimization level: 2, target machine: armv8-a
C compiler: gcc (redhat, aarch64, 8.5.0)
Garbage collector: Serial GC (max heap size: 80% of RAM)
3 user-specific feature(s):
- com.oracle.svm.thirdparty.gson.GsonFeature
- io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
- io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase
------------------------------------------------------------------------------------------------------------------------
4 experimental option(s) unlocked:
- '-H:+AllowFoldMethods' (origin(s): command line)
- '-H:BuildOutputJSONFile' (origin(s): command line)
- '-H:-UseServiceLoaderFeature' (origin(s): command line)
- '-H:ReflectionConfigurationResources' (origin(s): 'META-INF/native-image/io.netty/netty-transport/native-image.properties' in 'file:///project/lib/io.netty.netty-transport-4.1.100.Final.jar')
------------------------------------------------------------------------------------------------------------------------
Build resources:
- 5.77GB of memory (75.6% of 7.63GB system memory, determined at start)
- 4 thread(s) (100.0% of 4 available processor(s), determined at start)
[2/8] Performing analysis... [******] (31.3s @ 1.27GB)
11,807 reachable types (86.7% of 13,612 total)
16,666 reachable fields (57.7% of 28,890 total)
60,640 reachable methods (56.8% of 106,843 total)
3,721 types, 106 fields, and 3,276 methods registered for reflection
61 types, 59 fields, and 55 methods registered for JNI access
4 native libraries: dl, pthread, rt, z
[3/8] Building universe... (3.9s @ 1.37GB)
[4/8] Parsing methods... [**] (3.2s @ 0.89GB)
[5/8] Inlining methods... [***] (1.6s @ 1.12GB)
[6/8] Compiling methods... [*****] (21.0s @ 1.53GB)
[7/8] Layouting methods... [**] (4.2s @ 1.13GB)
[8/8] Creating image... [**] (4.2s @ 1.69GB)
21.64MB (44.52%) for code area: 37,463 compilation units
26.58MB (54.68%) for image heap: 307,064 objects and 56 resources
394.20kB ( 0.79%) for other data
48.60MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area: Top 10 object types in image heap:
11.69MB java.base 7.27MB byte[] for code metadata
1.33MB svm.jar (Native Image) 4.08MB byte[] for java.lang.String
872.73kB c.f.jackson.core.jackson-databind-2.15.3.jar 2.90MB java.lang.Class
853.28kB modified-io.vertx.vertx-core-4.4.6.jar 2.81MB java.lang.String
794.96kB debugging-native-1.0.0-SNAPSHOT-runner.jar 1.02MB byte[] for general heap data
457.04kB io.netty.netty-buffer-4.1.100.Final.jar 1014.66kB com.oracle.svm.core.hub.DynamicHubCompanion
389.00kB io.netty.netty-codec-http-4.1.100.Final.jar 686.55kB byte[] for reflection metadata
365.30kB com.fasterxml.jackson.core.jackson-core-2.15.3.jar 557.73kB java.lang.String[]
363.68kB io.netty.netty-common-4.1.100.Final.jar 469.78kB java.util.HashMap$Node
354.90kB io.netty.netty-codec-http2-4.1.100.Final.jar 428.71kB c.o.svm.core.hub.DynamicHub$ReflectionMetadata
4.06MB for 82 more packages 5.41MB for 3001 more object types
------------------------------------------------------------------------------------------------------------------------
Recommendations:
HEAP: Set max heap for improved and more predictable memory usage.
CPU: Enable more CPU features with '-march=native' for improved performance.
------------------------------------------------------------------------------------------------------------------------
12.0s (15.3% of total time) in 151 GCs | Peak RSS: 3.11GB | CPU load: 3.10
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
/project/debugging-native-1.0.0-SNAPSHOT-runner (executable)
/project/debugging-native-1.0.0-SNAPSHOT-runner-build-output-stats.json (build_info)
========================================================================================================================
Finished generating 'debugging-native-1.0.0-SNAPSHOT-runner' in 1m 16s.
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] podman run --env LANG=C --rm --user 501:20 --userns=keep-id -v /Users/galder/tmp/debugging-native/target/debugging-native-1.0.0-SNAPSHOT-native-image-source-jar:/project --entrypoint /bin/bash quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21 -c objcopy --strip-debug debugging-native-1.0.0-SNAPSHOT-runner
[INFO] [io.quarkus.deployment.QuarkusAugmentor] Quarkus augmentation completed in 107608ms
[INFO]
[INFO] --- failsafe:3.1.2:integration-test (default) @ debugging-native ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- failsafe:3.1.2:verify (default) @ debugging-native ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- install:3.1.1:install (default-install) @ debugging-native ---
[INFO] Installing /Users/galder/tmp/debugging-native/pom.xml to /Users/galder/.m2/repository/org/acme/debugging-native/1.0.0-SNAPSHOT/debugging-native-1.0.0-SNAPSHOT.pom
[INFO] Installing /Users/galder/tmp/debugging-native/target/debugging-native-1.0.0-SNAPSHOT.jar to /Users/galder/.m2/repository/org/acme/debugging-native/1.0.0-SNAPSHOT/debugging-native-1.0.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:52 min
[INFO] Finished at: 2023-12-04T17:09:27+01:00
[INFO] ------------------------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment