A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/issues/2178 below:

Versions 1.25.x are not GraalVM compatible · Issue #2178 · GoogleCloudPlatform/cloud-sql-jdbc-socket-factory · GitHub

Bug Description

None of the 1.25.x versions are compatible with GraalVM. They all fail with the same error.

Caused by: java.lang.NullPointerException: Cannot invoke "com.google.common.collect.ImmutableList.size()" because "list" is null

It's also not possible to override that dependency to be initialized at runtime because of its own settings, requiring initialization at build time.

Versions 1.24.x all suffer from CVE-2025-49146

Example code (or command)
Example BOM


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.5.4</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<url/>
	<licenses>
		<license/>
	</licenses>
	<developers>
		<developer/>
	</developers>
	<scm>
		<connection/>
		<developerConnection/>
		<tag/>
		<url/>
	</scm>
	<properties>
		<java.version>24</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.cloud.sql</groupId>
			<artifactId>postgres-socket-factory</artifactId>
			<version>1.24.2</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.graalvm.buildtools</groupId>
				<artifactId>native-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<builder>paketobuildpacks/builder-jammy-buildpackless-tiny</builder><!--required for AArch64/M1 support -->
						<buildpacks>
							<buildpack>paketobuildpacks/oracle</buildpack>
							<buildpack>paketobuildpacks/java-native-image</buildpack>
						</buildpacks>
					</image>
				</configuration>
			</plugin>

		</plugins>
	</build>

</project>
Stacktrace
[INFO]     [creator]     ================================================================================
[INFO]     [creator]     GraalVM Native Image: Generating 'com.example.demo.DemoApplication' (executable)...
[INFO]     [creator]     ================================================================================
[INFO]     [creator]     For detailed information and explanations on the build output, visit:
[INFO]     [creator]     https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
[INFO]     [creator]     --------------------------------------------------------------------------------
[INFO]     [creator]     
[INFO]     [creator]     [1/8] Initializing...                                            (0.0s @ 0.14GB)
[INFO]     [creator]     Error: Class initialization of com.google.common.collect.RegularImmutableList failed. Use the option 
[INFO]     [creator]     
[INFO]     [creator]         '--initialize-at-run-time=com.google.common.collect.RegularImmutableList'
[INFO]     [creator]     
[INFO]     [creator]      to explicitly request initialization of this class at run time. Exception thrown by the class initializer:
[INFO]     [creator]     
[INFO]     [creator]     java.lang.NullPointerException: Cannot invoke "com.google.common.collect.ImmutableList.size()" because "list" is null
[INFO]     [creator]     	at com.google.common.collect.ImmutableList$Itr.<init>(ImmutableList.java:400)
[INFO]     [creator]     	at com.google.common.collect.ImmutableList.<clinit>(ImmutableList.java:393)
[INFO]     [creator]     	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
[INFO]     [creator]     	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1166)
[INFO]     [creator]     	(internal stack frames of the image generator are omitted)
[INFO]     [creator]     
[INFO]     [creator]     
[INFO]     [creator]     Caused by: java.lang.ExceptionInInitializerError
[INFO]     [creator]     	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
[INFO]     [creator]     	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1166)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.ensureClassInitialized(ClassInitializationSupport.java:200)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.forceInitializeHosted(ClassInitializationSupport.java:346)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime(ClassInitializationSupport.java:266)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime(ClassInitializationSupport.java:276)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.processClassInitializationOption(ClassInitializationFeature.java:119)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.lambda$processClassInitializationOptions$0(ClassInitializationFeature.java:78)
[INFO]     [creator]     	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
[INFO]     [creator]     	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.processClassInitializationOptions(ClassInitializationFeature.java:76)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.setupNativeImage(NativeImageGenerator.java:928)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:565)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:533)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:545)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:732)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:151)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:99)
[INFO]     [creator]     Caused by: java.lang.NullPointerException: Cannot invoke "com.google.common.collect.ImmutableList.size()" because "list" is null
[INFO]     [creator]     	at com.google.common.collect.ImmutableList$Itr.<init>(ImmutableList.java:400)
[INFO]     [creator]     	at com.google.common.collect.ImmutableList.<clinit>(ImmutableList.java:393)
[INFO]     [creator]     	... 18 more
[INFO]     [creator]     Caused by: java.lang.NullPointerException: Cannot invoke "com.google.common.collect.ImmutableList.size()" because "list" is null
[INFO]     [creator]     	at com.google.common.collect.ImmutableList$Itr.<init>(ImmutableList.java:400)
[INFO]     [creator]     	at com.google.common.collect.ImmutableList.<clinit>(ImmutableList.java:393)
[INFO]     [creator]     	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
[INFO]     [creator]     	at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1166)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.ensureClassInitialized(ClassInitializationSupport.java:200)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.forceInitializeHosted(ClassInitializationSupport.java:346)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime(ClassInitializationSupport.java:266)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.initializeAtBuildTime(ClassInitializationSupport.java:276)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.processClassInitializationOption(ClassInitializationFeature.java:119)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.lambda$processClassInitializationOptions$0(ClassInitializationFeature.java:78)
[INFO]     [creator]     	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
[INFO]     [creator]     	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.processClassInitializationOptions(ClassInitializationFeature.java:76)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.setupNativeImage(NativeImageGenerator.java:928)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:565)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:533)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:545)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:732)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:151)
[INFO]     [creator]     	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:99)
[INFO]     [creator]     --------------------------------------------------------------------------------
[INFO]     [creator]         2.5s (9.8% of total time) in 25 GCs | Peak RSS: 0.54GB | CPU load: 2.41
[INFO]     [creator]     ================================================================================
[INFO]     [creator]     Failed generating 'com.example.demo.DemoApplication' after 21.2s.
[INFO]     [creator]     unable to invoke layer creator
[INFO]     [creator]     unable to contribute native-image layer
[INFO]     [creator]     error running build
[INFO]     [creator]     exit status 1
[INFO]     [creator]     ERROR: failed to build: exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:36 min
[INFO] Finished at: 2025-08-02T07:02:03-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.5.4:build-image (default-cli) on project demo: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:3.5.4:build-image failed: Builder lifecycle 'creator' failed with status code 51 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
Steps to reproduce?

The same NPE is occurring in the tests, https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/actions/runs/16688947305/job/47243452706#step:6:6588

You can recreate locally by adding the postgres-socket-factory dependency for any 1.25.x version and trying to build a native image.

Fails

<dependency>
     <groupId>com.google.cloud.sql</groupId>
     <artifactId>postgres-socket-factory</artifactId>
     <version>1.25.2</version>
</dependency>

Works

<dependency>
     <groupId>com.google.cloud.sql</groupId>
     <artifactId>postgres-socket-factory</artifactId>
     <version>1.24.2</version>
</dependency>
Environment
  1. OS type and version: MacOS Sequoia
  2. Java SDK version: 24 and 21
  3. Cloud SQL Java Socket Factory version: 1.25.x
Additional Details

No response


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4