spring-boot
                                
                                
                                
                                    spring-boot copied to clipboard
                            
                            
                            
                        gradle bootBuildImage task fails with java buildpack
I used to customize buildpack as followed
tasks.bootBuildImage {
  buildpacks = listOf (
	"gcr.io/paketo-buildpacks/java",
	"gcr.io/paketo-buildpacks/new-relic",
  )
  bindings = listOf("$projectDir/src/main/buildpack/new-relic:/platform/bindings/new-relic:ro")
}
with src/main/buildpack/new-relic/type containing NewRelic.
Everything worked fine in 3.1.5.
When switching to springboot 3.2.2, build fails without that much error.
024-01-24T12:26:01.203+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':bootBuildImage'.
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Invalid response received when loading image "pack.local/builder/xjawcxzvov:latest"
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --stacktrace option to get the stack trace.
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --scan to get full insights.
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Get more help at https://help.gradle.org.
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 1m 34s
I saw that from one version to other, builder changed
In 3.1.5 I see
 > Pulling builder image 'docker.io/paketobuildpacks/builder:base' ..................................................
 > Pulled builder image 'paketobuildpacks/builder@sha256:17ea21162ba8c7717d3ead3ee3836a368aced7f02f2e59658e52029bd6d149e7'
 > Pulling run image 'docker.io/paketobuildpacks/run:base-cnb' ..................................................
 > Pulled run image 'paketobuildpacks/run@sha256:1af9935d8987fd52b2266d288200c9482d1dd5529860bbf5bc2d248de1cb1a38'
 > Pulling buildpack image 'gcr.io/paketo-buildpacks/java:latest' ..................................................
 > Pulled buildpack image 'gcr.io/paketo-buildpacks/java@sha256:5b74c0946a6ef69a7d7ec2ff6bcff0d323bf0590ee67dfe7188db2cc1f2e1bff'
 > Pulling buildpack image 'gcr.io/paketo-buildpacks/new-relic:latest' ..................................................
 > Pulled buildpack image 'gcr.io/paketo-buildpacks/new-relic@sha256:cb598d744ed8efed765f5423c4ebfb72b8509d29092b5dca781748eff6f6cb0c'
and in 3.2.2
 > Pulling builder image 'docker.io/paketobuildpacks/builder-jammy-base:latest' ..................................................
 > Pulled builder image 'paketobuildpacks/builder-jammy-base@sha256:92811b61280130099527b40c7650c871187a7e1cebb21744d93e480fc34cbcb0'
 > Pulling run image 'docker.io/paketobuildpacks/run-jammy-base:latest' ..................................................
 > Pulled run image 'paketobuildpacks/run-jammy-base@sha256:ac21741202c46c4de193714557e692ce29fa5a2f70047d4799deb7e21ac99d89'
 > Pulling buildpack image 'gcr.io/paketo-buildpacks/java:latest' ..................................................
 > Pulled buildpack image 'gcr.io/paketo-buildpacks/java@sha256:5b74c0946a6ef69a7d7ec2ff6bcff0d323bf0590ee67dfe7188db2cc1f2e1bff'
 > Pulling buildpack image 'gcr.io/paketo-buildpacks/new-relic:latest' ..................................................
 > Pulled buildpack image 'gcr.io/paketo-buildpacks/new-relic@sha256:cb598d744ed8efed765f5423c4ebfb72b8509d29092b5dca781748eff6f6cb0c'
So basically
builder:base=>builder-jammy-base:latestrun:base-cnb=>run-jammy-base:latest'
the buildpack java cannot be used anymore?
I could have posted the log with debug, however, it logs every payload and its size is more than 2GB in the end.....
Thank you!
for now I just put all the buildpack that are triggered by bootBuildImage without any configuration
tasks.bootBuildImage {
    buildpacks = listOf(
        "gcr.io/paketo-buildpacks/ca-certificates:latest",
        "gcr.io/paketo-buildpacks/bellsoft-liberica:latest",
        "gcr.io/paketo-buildpacks/syft:latest",
        "gcr.io/paketo-buildpacks/executable-jar:latest",
        "gcr.io/paketo-buildpacks/dist-zip:latest",
        "gcr.io/paketo-buildpacks/new-relic:latest",
        "gcr.io/paketo-buildpacks/spring-boot:latest",
    )
    bindings = listOf("$projectDir/src/main/buildpack/new-relic:/platform/bindings/new-relic:ro")
}
                                    
                                    
                                    
                                
2024-01-24T12:26:01.204+0100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Invalid response received when loading image "pack.local/builder/xjawcxzvov:latest"
This is an interesting error. Spring Boot creates that image during the build process, and it's not clear why it wouldn't be able to load it after creating it. Can you see the error that the Docker daemon is returning when it tries to load this image?
It is possible that switching from one builder to another, as is done when switching from Spring Boot 3.1.5 to 3.2.2, is breaking some caching that gets done during the build process. Can you try running with the --cleanCache option on the Gradle command line to see if that makes a difference?
the buildpack java cannot be used anymore?
This should not be the case. Switching builders should not make a difference when configuring buildpacks like this.
Note that you will get a performance improvement in your build if you use the buildpacks that are bundled in the builder with the urn:cnb:builder syntax instead of downloading them from gcr.io/paketo-buildpacks. An example of that would look like this:
tasks.bootBuildImage {
  buildpacks = listOf (
	"urn:cnb:builder:paketo-buildpacks/java",
	"gcr.io/paketo-buildpacks/new-relic",
  )
  ...
}
                                    
                                    
                                    
                                
@scottfrederick thank you for your feedback
so, neither launching with --cleanCache does not chanche anything, nor removing docker volumebefore building the image change a thing.
The daemon logs do not bring that much
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.305661581+01:00" level=info msg="Layer sha256:6c7ee8de9d4d6f22e66741f4f29a8bcd8793e1fec8bcac0b53dbfab92cc63ec2 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.306612701+01:00" level=info msg="Layer sha256:980bfdcf4a4b9bd549c36eb5dd43a70f8df0fe9b5beb7a8c1c6b43f724dfd08c cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.308043049+01:00" level=info msg="Layer sha256:d8ef06634293db3e0fb9857614d12df53c8361861c7950c2afc37d97edceda1a cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.308920197+01:00" level=info msg="Layer sha256:4650ab8bad05e3ec1db2d93af0999dcc842d390a0f1a3a9df54ee01bd19eebd8 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.311265096+01:00" level=info msg="Layer sha256:b65d9972ef328a38c61839ecf55292ede433ae2707fbee0d99fc720f20633abb cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.311916736+01:00" level=info msg="Layer sha256:15fd6fffea088974530d81b7ef89fa4ad8ebbf9f7555f0b3665359885f0283c5 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.314055702+01:00" level=info msg="Layer sha256:27c3d868417d47ab56cc97031f4a3feb34b091a47267531318865c35b0a61ff0 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.315080177+01:00" level=info msg="Layer sha256:7a30522793b00ddfecef6ba54c5afff7ca38a57acde184bf191b1ec76cae7fe4 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.315905121+01:00" level=info msg="Layer sha256:78964e30d07ec0b94088b345a71c1124acf08d34d73034a781d8c1a05c930104 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.316742912+01:00" level=info msg="Layer sha256:a3cf765f32710960e5c64eb007a481138a4ebf3a92d7d93204ed62dd0dca5b87 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.317602936+01:00" level=info msg="Layer sha256:7790e219f3ae1771161c05921c1b0f905eb446931589227cb2e18241ee544f70 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.318269462+01:00" level=info msg="Layer sha256:d6a29ee6d58bc64ad0da9ccaf405b2bb93f8645ee5934408aadef7f6f52dc9cf cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.319595055+01:00" level=info msg="Layer sha256:c7117032463358c8dddb9bb0673f7341f80b1efa11d99f11b3bc3ba6b3024c59 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.320628530+01:00" level=info msg="Layer sha256:b64280c5acb6b47bbadf64f764a7cc8a99c7f943815ca79aa180039a8cddf23d cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.321675566+01:00" level=info msg="Layer sha256:b817f52f3e5ff2663764e1ee8909f5eb1437a69c688a316b2fb0d012a1d47061 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.322477284+01:00" level=info msg="Layer sha256:e0243ad8a622fffa5943c8ebfcd94b6d39ad899df6f0749e892825b772881450 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.323401021+01:00" level=info msg="Layer sha256:1d97ffff86aa6998342d89dc6cc61968460c8243bdc5a6e522860c8d21953495 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.324401751+01:00" level=info msg="Layer sha256:47e2cb503954df874a40d63a3dad10490d7613ae52ba493280a0db9bf7226343 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.325364573+01:00" level=info msg="Layer sha256:d747fc8c98264a9909e0771ac7b30b055f5cee28f669b2f0efdbaf3fc8a8ec74 cleaned up"
janv. 25 11:40:37 ben-lenovo dockerd[17500]: time="2024-01-25T11:40:37.326217230+01:00" level=info msg="Layer sha256:0cccd107cacadbd64c319d467a8747949d27f7cd28dec7df304b50791ddaf126 cleaned up"
                                    
                                    
                                    
                                
@antechrestos Are you still facing this issue?
@philwebb no I don't; with springboot 3.2.3 everything went back to normal. Thanks
Sorry I thought the issue was closed by the commit bringing correction made by @scottfrederick