GoogleContainerTools/jib · error · BuildStepsExecutionException

${ex.getCause().getMessage() == null ? "(null exception mess

Error message

${ex.getCause().getMessage() == null ? "(null exception message)" : ex.getCause().getMessage()}

What it means

BuildStepsExecutionException thrown in JibBuildRunner.runBuild() for an UnknownHostException: the target registry's hostname could not be resolved by DNS. The message interpolates the underlying cause's text (or '(null exception message)' when null) because the JVM only reports the unresolvable host name. The build never made a network connection — this is a name-resolution failure, typical of typos in the registry host, offline environments, or missing/corporate DNS configuration.

Source

Thrown at jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java:284

            helpfulSuggestions);
      } else {
        // Unknown cause
        throw new BuildStepsExecutionException(helpfulSuggestions.none(), ex);
      }

    } catch (UnknownHostException ex) {
      throw new BuildStepsExecutionException(helpfulSuggestions.forUnknownHost(), ex);

    } catch (InsecureRegistryException ex) {
      throw new BuildStepsExecutionException(helpfulSuggestions.forInsecureRegistry(), ex);

    } catch (RegistryException ex) {
      String message = Verify.verifyNotNull(ex.getMessage()); // keep null-away happy
      throw new BuildStepsExecutionException(message, ex);

    } catch (ExecutionException ex) {
      String message = ex.getCause().getMessage();
      throw new BuildStepsExecutionException(
          message == null ? "(null exception message)" : message, ex.getCause());

    } catch (InterruptedException ex) {
      Thread.currentThread().interrupt();
      throw new BuildStepsExecutionException(helpfulSuggestions.none(), ex);
    }

    throw new IllegalStateException("unreachable");
  }

  /**
   * Set the location where the image digest will be saved. If {@code null} then digest is not
   * saved.
   *
   * @param imageDigestOutputPath the location to write the image digest or {@code null} to skip
   * @return this
   */
  public JibBuildRunner writeImageDigest(@Nullable Path imageDigestOutputPath) {

View on GitHub (pinned to fb949e2676)

Solutions

  1. Fix the registry hostname in the image reference (e.g. use registry.example.com:5000 spelled correctly)
  2. Verify DNS resolution (nslookup/dig) and network/VPN connectivity from the build machine
  3. For offline builds, build with a local registry or configure a mirror/proxy
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java:284 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of GoogleContainerTools/jib@fb949e2676 (2026-09-06). Data as JSON: /api/errors/c0c1b7b5d6ae1990. Report an issue: GitHub.