Pipeline build failed with An error occurred while processing an artifact error

Platform Notice: Cloud Only - This article only applies to Atlassian products on the cloud platform.

Summary

What to do if you encounter a failed Pipeline build with An error occurred while processing an artifact error

Platform: Bitbucket Pipeline Self-hosted Runners - All

Solution

Possible causes:

  • An outdated version of the Runner is currently in use.

  • The latest version of the Runner (greater than 3.0.0) is being utilized, yet the essential modifications required for the Runner have not been implemented.

Troubleshooting Steps:

  • Runner Version

    • For Runner versions less than 3.0.0: The Pipeline team has recently announced that Pipelines Runner version 3.0.0 is now available. This version introduces improved artifact and cache management capabilities. It is advisable to upgrade the Runner version to 3.0.0 by referring to the Updating a Runner version section on this page.

    • For Runner versions greater than or equal to 3.0.0: If your self-hosted runners are operating behind a firewall that filters connections based on IP addresses or URLs, it is essential to ensure that you unblock the following for both incoming and outgoing traffic when upgrading to version 3.0.0 or above:

      • If Using IP

        • A comprehensive list of IP addresses that traffic can route to AWS can be found by utilizing the following endpoint. It is important to filter for records where the service equals S3, and specify the us-east-1 and us-west-2 regions.

        • To facilitate the filtering process, the following command can be employed to retrieve the latest list of AWS S3 IPs used by the self-hosted runners:

          1 curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select((.region=="us-east-1" or .region=="us-west-2") and .service=="S3") | .ip_prefix'

          Please note that it is necessary to allowlist all these IPs irrespective of the step size.

      • If Using URL

        1 micros--prod-east--bitbucketci-file-service--files.s3.amazonaws.com

        Additionally, the timeout with the latest version of the self-hosted runners is set to 30 seconds. If you are utilizing the latest version of a self-hosted runner, you can configure this timeout by adjusting the preconfigured command that you use to start the runner.

      • If you are using Docker-based runners, please add this to the command that initiates the runner:

        1 -e S3_READ_TIMEOUT_SECONDS=<secondsvalue>
      • For Linux Shell and MacOS Shell runners, please add this to the command that initiates the runner:

        1 --s3ReadTimeoutSeconds <secondsvalue>
      • For Windows Shell runners, please add this to the command that initiates the runner:

        1 -s3ReadTimeoutSeconds "<secondsvalue>"

        Replace <secondsvalue> with a value in seconds based on your estimation of how long the artifact upload will take, keeping in mind the expected size of the artifact. For example, you may start with 600 (equivalent to 10 minutes) and adjust it to a lower or higher value as necessary.

Updated on March 25, 2025

Still need help?

The Atlassian Community is here for you.