{"record":{"id":"6cb4e7ae4c210788","repo":"quarkusio/quarkus","slug":"buildpack-build-failed","errorCode":null,"errorMessage":"Buildpack build failed","messagePattern":"Buildpack build failed","errorType":"error_code","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"extensions/container-image/container-image-buildpack/deployment/src/main/java/io/quarkus/container/image/buildpack/deployment/BuildpackProcessor.java","lineNumber":316,"sourceCode":"                        dc.endDockerConfig();\n\n                        //configure lifecycle override image if present\n                        buildpackConfig.lifecycleImage()\n                                .ifPresent(\n                                        li -> b.editPlatformConfig().withLifecycleImage(new ImageReference(li))\n                                                .endPlatformConfig());\n\n                        //force platform level, if present.\n                        buildpackConfig.platformLevel()\n                                .ifPresent(\n                                        pl -> b.editPlatformConfig().withPlatformLevel(pl).endPlatformConfig());\n\n                    })\n                    .build()\n                    .getExitCode();\n\n            if (exitCode != 0) {\n                throw new IllegalStateException(\"Buildpack build failed\");\n            }\n\n            log.info(\"Buildpack build complete\");\n        }\n\n        //if we built with registry mode, the build happened directly to the remote registry, so there is no need to publish\n        //otherwise, now process the local image & publish to registry.\n        if (pushContainerImage && Boolean.TRUE.equals(buildpackConfig.useDaemon())) {\n            log.info(\"Pushing image to registry\");\n            Stream.concat(Stream.of(containerImage.getImage()), containerImage.getAdditionalImageTags().stream()).forEach(i -> {\n\n                HostAndSocketConfig hns = DockerClientUtils.probeContainerRuntime(\n                        new HostAndSocketConfig(buildpackConfig.dockerHost().orElse(null),\n                                buildpackConfig.dockerSocket().orElse(null)));\n                DockerClient dockerClient = DockerClientUtils.getDockerClient(hns, authConfigs);\n\n                ResultCallback.Adapter<PushResponseItem> callback = new ResultCallback.Adapter<>() {\n                    @Override","sourceCodeStart":298,"sourceCodeEnd":334,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/container-image/container-image-buildpack/deployment/src/main/java/io/quarkus/container/image/buildpack/deployment/BuildpackProcessor.java#L298-L334","documentation":"After running the buildpack builder process, runBuildpackBuild checks the process exit code; a non-zero code means the buildpack build itself failed (builder errors, missing pack binary, bad builder image, failed push), so an IllegalStateException is thrown.","triggerScenarios":"The buildpack CLI/builder exits non-zero: invalid builder image, network failure pulling run/build images, insufficient disk space, or an error in generated application artifacts.","commonSituations":"Wrong or unreachable builder image (offline/air-gapped CI); misconfigured registry credentials during push; builder image incompatible with the project.","solutions":["Inspect the buildpack builder logs printed before the exception for the root cause","Verify the configured builder image is valid and reachable (quarkus.buildpack.builder-image)","Check registry authentication and network access for pulling/pushing images","Ensure the pack/buildpack tooling and disk resources are available"],"exampleFix":"// before\nquarkus.buildpack.builder-image=my-private-builder:latest  # unreachable\n// after\nquarkus.buildpack.builder-image=pack.local/builder/base:latest\nquarkus.buildpack.auth-config=...  # valid credentials","handlingStrategy":"retry","validationCode":"// pre-checks before buildpack build\nassertToolAvailable(\"pack\");\nassertImageReachable(config.builderImage());\nassertRegistryCredentials(config.registry());","typeGuard":null,"tryCatchPattern":"try {\n    imageBuild();\n} catch (IllegalStateException e) {\n    if (e.getMessage().equals(\"Buildpack build failed\")) {\n        // inspect buildpack logs; fix builder/registry config and retry\n    } else { throw e; }\n}","preventionTips":["Pre-pull the builder image to verify reachability","Verify registry credentials before CI image builds","Monitor disk space; buildpack builds need room for image layers"],"tags":["buildpack","container-image","process-exit"],"backgroundTag":"container-build-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}