GoogleCloudPlatform / GoogleCloudPlatform/spring-cloud-gcp
Spring Boot 3.2.1 or later: Reenable pubsub-stream-sample NativeTests
- Dominant language
- Java
- Stars
- 551
- Forks
- 349
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 14
Description
Investigate after Spring Boot 3.2.1 by reenabling `pubsub-stream-sample` in the NativeTests: https://github.com/GoogleCloudPlatform/spring-cloud-gcp/blob/main/.github/workflows/NativeTests.yaml
The following error occurs in the spring-cloud-gcp-pubsub-stream-functional-sample native tests for what appears to be an incompatibility between native images and records:
* https://stackoverflow.com/a/76547543
* Spring source using `record`: https://github.com/spring-projects/spring-integration/blob/main/spring-integration-core/src/main/java/org/springframework/integration/config/ConverterRegistrar.java#L89
* Example error: https://github.com/GoogleCloudPlatform/spring-cloud-gcp/actions/runs/7197427020/job/19604531896?pr=2438
```
Failed generating '/home/runner/work/spring-cloud-gcp/spring-cloud-gcp/spring-cloud-gcp-samples/spring-cloud-gcp-pubsub-stream-functional-sample/spring-cloud-gcp-pubsub-stream-functional-sample-test/target/native-tests' after 4m 59s.
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:580)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
Caused by: com.oracle.svm.core.util.VMError$HostedError: New Method or Constructor found as reachable after static analysis: public java.lang.Object org.springframework.integration.config.ConverterRegistrar$IntegrationConverterRegistration.converter()
at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:68)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.reflect.ReflectionFeature.getOrCreateAccessor(ReflectionFeature.java:121)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.reflect.target.ExecutableAccessorComputer.transform(ExecutableAccessorComputer.java:43)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.ComputedValueField.computeValue(ComputedValueField.java:343)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.substitute.ComputedValueField.readValue(ComputedValueField.java:313)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.meta.ReadableJavaField.readFieldValue(ReadableJavaField.java:38)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readValue(AnalysisConstantReflectionProvider.java:97)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.meta.HostedField.readValue(HostedField.java:161)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addObjectToImageHeap(NativeImageHeap.java:439)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addObject(NativeImageHeap.java:295)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.processAddObjectWorklist(NativeImageHeap.java:598)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageHeap.addTrailingObjects(NativeImageHeap.java:198)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:678)
```
Contributor guide
Research direction
Start with .github/workflows/NativeTests.yaml and the spring-cloud-gcp-pubsub-stream-functional-sample native tests. Re-run the disabled pubsub-stream-sample after Spring Boot 3.2.1 or later and investigate the reported record-related native-image failure. Done means the sample is reenabled and its NativeTests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100