Error: failed to fetch an image or build from source: error rendering push status stream: blob upload unknown

I am no longer able to deploy my application. I am just running flyctl deploy like I have always done… forever.

Debug output
DEBUG Loaded flyctl config from/Users/jiralite/.fly/config.yml
DEBUG determined hostname: "Jiralites-MacBook-Pro.local"
DEBUG determined working directory: "/Users/jiralite/Documents/GitHub/thatskyapplication/caelus"
DEBUG determined user home directory: "/Users/jiralite"
DEBUG determined config directory: "/Users/jiralite/.fly"
DEBUG ensured config directory exists.
DEBUG ensured config directory perms.
DEBUG cache loaded.
DEBUG config initialized.
DEBUG client initialized.
DEBUG app config loaded from /Users/jiralite/Documents/GitHub/thatskyapplication/caelus/fly.toml
DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "query ($appName: String!) { appbasic:app(name: $appName) { id name platformVersion organization { id slug paidPlan } } }",
  "variables": {
    "appName": "caelus"
  }
}


DEBUG {}
DEBUG <-- 200 https://api.fly.io/graphql (296.07ms)

DEBUG {
  "data": {
    "appbasic": {
      "id": "caelus",
      "name": "caelus",
      "platformVersion": "machines",
      "organization": {
        "id": "D307G6NwgR0z2u4vPG23jYy8a3c5XRjjj",
        "slug": "personal",
        "paidPlan": false
      }
    }
  }
}

==> Verifying app config
DEBUG Starting task manager
DEBUG started querying for new release
DEBUG Config has metrics token

Validating /Users/jiralite/Documents/GitHub/thatskyapplication/caelus/fly.toml
Platform: machines
✓ Configuration is valid
--> Verified app config
DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "query ($appName: String!) { appcompact:app(name: $appName) { id name hostname deployed status appUrl platformVersion organization { id slug paidPlan } postgresAppRole: role { name } imageDetails { repository version } } }",
  "variables": {
    "appName": "caelus"
  }
}


DEBUG {}
DEBUG <-- 200 https://api.fly.io/graphql (164.26ms)

DEBUG {
  "data": {
    "appcompact": {
      "id": "caelus",
      "name": "caelus",
      "hostname": "caelus.fly.dev",
      "deployed": true,
      "status": "deployed",
      "appUrl": null,
      "platformVersion": "machines",
      "organization": {
        "id": "D307G6NwgR0z2u4vPG23jYy8a3c5XRjjj",
        "slug": "personal",
        "paidPlan": false
      },
      "postgresAppRole": null,
      "imageDetails": {
        "repository": "caelus",
        "version": null
      }
    }
  }
}

==> Building image
DEBUG trying remote docker daemon
DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "mutation($input: EnsureMachineRemoteBuilderInput!) { ensureMachineRemoteBuilder(input: $input) { machine { id state ips { nodes { family kind ip } } }, app { name organization { id slug } } } }",
  "variables": {
    "input": {
      "appName": "caelus",
      "organizationId": null
    }
  }
}


DEBUG {}
DEBUG querying for release resulted to 0.1.112
DEBUG <-- 200 https://api.fly.io/graphql (401.07ms)

DEBUG {
  "data": {
    "ensureMachineRemoteBuilder": {
      "machine": {
        "id": "4d891260be7e68",
        "state": "started",
        "ips": {
          "nodes": [
            {
              "family": "v6",
              "kind": "public",
              "ip": "2605:4c40:100:8e45:0:e11a:cdfb:1"
            },
            {
              "family": "v4",
              "kind": "private",
              "ip": "172.19.1.170"
            },
            {
              "family": "v6",
              "kind": "privatenet",
              "ip": "fdaa:0:d025:a7b:180:e11a:cdfb:2"
            }
          ]
        }
      },
      "app": {
        "name": "fly-builder-icy-waterfall-3396",
        "organization": {
          "id": "D307G6NwgR0z2u4vPG23jYy8a3c5XRjjj",
          "slug": "personal"
        }
      }
    }
  }
}

DEBUG checking ip &{Family:v6 Kind:public IP:2605:4c40:100:8e45:0:e11a:cdfb:1 MaskSize:0}

DEBUG checking ip &{Family:v4 Kind:private IP:172.19.1.170 MaskSize:0}

DEBUG checking ip &{Family:v6 Kind:privatenet IP:fdaa:0:d025:a7b:180:e11a:cdfb:2 MaskSize:0}

Waiting for remote builder fly-builder-icy-waterfall-3396... 🌍DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "query ($appName: String!) { appbasic:app(name: $appName) { id name platformVersion organization { id slug paidPlan } } }",
  "variables": {
    "appName": "caelus"
  }
}


DEBUG {}
DEBUG <-- 200 https://api.fly.io/graphql (151.19ms)

DEBUG {
  "data": {
    "appbasic": {
      "id": "caelus",
      "name": "caelus",
      "platformVersion": "machines",
      "organization": {
        "id": "D307G6NwgR0z2u4vPG23jYy8a3c5XRjjj",
        "slug": "personal",
        "paidPlan": false
      }
    }
  }
}

DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "mutation($input: ValidateWireGuardPeersInput!) { validateWireGuardPeers(input: $input) { invalidPeerIps } }",
  "variables": {
    "input": {
      "peerIps": [
        "fdaa:0:d025:a7b:dc6:0:a:202",
        "fdaa:3:2b38:a7b:dc6:0:a:2"
      ]
    }
  }
}


DEBUG {}
Waiting for remote builder fly-builder-icy-waterfall-3396... 🌎DEBUG <-- 200 https://api.fly.io/graphql (126.03ms)

DEBUG {
  "data": {
    "validateWireGuardPeers": {
      "invalidPeerIps": []
    }
  }
}

Waiting for remote builder fly-builder-icy-waterfall-3396... 🌍DEBUG Remote builder available, but pinging again in 50ms to be sure

Waiting for remote builder fly-builder-icy-waterfall-3396... 🌎DEBUG Remote builder available, but pinging again in 50ms to be sure

Waiting for remote builder fly-builder-icy-waterfall-3396... 🌏DEBUG Remote builder available, but pinging again in 50ms to be sure

Waiting for remote builder fly-builder-icy-waterfall-3396... 🌍DEBUG Remote builder available, but pinging again in 50ms to be sure

DEBUG Remote builder available, but pinging again in 50ms to be sure

Waiting for remote builder fly-builder-icy-waterfall-3396... 🌎DEBUG Remote builder is ready to build!
Remote builder fly-builder-icy-waterfall-3396 ready
DEBUG Sending remote builder heartbeat pulse to http://fdaa:0:d025:a7b:180:e11a:cdfb:2:8080/flyio/v1/extendDeadline...

DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "\n# @genqlient\nmutation ResolverCreateBuild ($input: CreateBuildInput!) {\n\tcreateBuild(input: $input) {\n\t\tid\n\t\tstatus\n\t}\n}\n",
  "variables": {
    "input": {
      "appName": "caelus",
      "builderType": "remote",
      "clientMutationId": "",
      "imageOpts": {
        "buildArgs": {},
        "buildPacks": null,
        "builder": "",
        "builtIn": "",
        "builtInSettings": null,
        "dockerfilePath": "",
        "extraBuildArgs": null,
        "imageLabel": "",
        "imageRef": "",
        "noCache": true,
        "publish": true,
        "tag": "registry.fly.io/caelus:deployment-01HDKXNYCMPANH2CAFA63QA3VE",
        "target": ""
      },
      "machineId": "",
      "strategiesAvailable": [
        "Buildpacks",
        "Dockerfile",
        "Builtin"
      ]
    }
  },
  "operationName": "ResolverCreateBuild"
}

DEBUG {0x14000ada450}
DEBUG <-- 200 https://api.fly.io/graphql (153.1ms)

DEBUG {
  "data": {
    "createBuild": {
      "id": "4028520",
      "status": "started"
    }
  }
}

DEBUG Trying 'Buildpacks' strategy

DEBUG no buildpack builder configured, skipping
DEBUG result image:<nil> error:<nil>

DEBUG Trying 'Dockerfile' strategy

DEBUG buildkitEnabled true
DEBUG fetching docker server info
==> Building image with Docker
--> docker host: 20.10.12 linux x86_64
[+] Building 21.9s (18/18) FINISHED                                                                                        
 => [internal] load build definition from Dockerfile                                                                  0.5s
 => => transferring dockerfile: 69B                                                                                   0.5s
 => [internal] load .dockerignore                                                                                     0.5s
 => => transferring context: 71B                                                                                      0.5s
 => [internal] load metadata for docker.io/library/node:lts-bullseye-slim                                             0.6s
 => [internal] load build context                                                                                     1.4s
 => => transferring context: 29.62kB                                                                                  1.4s
 => CACHED [stage-1 1/5] FROM docker.io/library/node:lts-bullseye-slim@sha256:b6ce1fba0d1f549661aeed8f4893460b449265  0.0s
 => CACHED [builder 2/9] WORKDIR /app                                                                                 0.0s
 => [builder 3/9] RUN npm install --global pnpm@8.7.1                                                                 1.7s
 => [builder 4/9] COPY package.json ./                                                                                0.0s
 => [builder 5/9] COPY pnpm-lock.yaml ./                                                                              0.0s
 => [builder 6/9] RUN pnpm install --frozen-lockfile                                                                  6.9s
 => [builder 7/9] COPY . .                                                                                            0.0s
 => [builder 8/9] RUN pnpm run build                                                                                  5.4s 
 => [builder 9/9] RUN pnpm prune --prod                                                                               3.1s 
 => [stage-1 2/5] COPY --from=builder /app/node_modules /app/node_modules                                             1.1s 
 => [stage-1 3/5] COPY --from=builder /app/distribution /app/distribution                                             0.0s 
 => [stage-1 4/5] COPY --from=builder /app/package.json /app/package.json                                             0.0s 
 => [stage-1 5/5] WORKDIR /app                                                                                        0.0s
 => exporting to image                                                                                                0.9s
 => => exporting layers                                                                                               0.9s
 => => writing image sha256:fc9f70b62235a3b0aa7f7e9a353155ba711958b11dc8162c2059b9fb53a031ef                          0.0s
 => => naming to registry.fly.io/caelus:deployment-01HDKXNYCMPANH2CAFA63QA3VE                                         0.0s
--> Building image done
==> Pushing image to fly
The push refers to repository [registry.fly.io/caelus]
5f70bf18a086: Layer already exists 
92afe3bd0274: Retrying in 1 second 
7c3fbff93599: Retrying in 1 second 
92afe3bd0274: Retrying in 1 second 
7c3fbff93599: Retrying in 1 second 
92afe3bd0274: Pushing [==================================================>]  3.072kB
7c3fbff93599: Pushing [==================================================>]  774.1kB
602bb20985a8: Pushing [==============>                                    ]  14.02MB/47.34MB
633f5bf471f7: Layer already exists 
DEBUG Sending remote builder heartbeat pulse to http://fdaa:0:d025:a7b:180:e11a:cdfb:2:8080/flyio/v1/extendDeadline...

DEBUG Sending remote builder heartbeat pulse to http://fdaa:0:d025:a7b:180:e11a:cdfb:2:8080/flyio/v1/extendDeadline...

DEBUG result image:<nil> error:error rendering push status stream: blob upload unknown

DEBUG --> POST https://api.fly.io/graphql

DEBUG {
  "query": "\n# @genqlient\nmutation ResolverFinishBuild ($input: FinishBuildInput!) {\n\tfinishBuild(input: $input) {\n\t\tid\n\t\tstatus\n\t\twallclockTimeMs\n\t}\n}\n",
  "variables": {
    "input": {
      "appName": "caelus",
      "buildId": "4028520",
      "builderMeta": {
        "builderType": "",
        "buildkitEnabled": true,
        "dockerVersion": "20.10.12",
        "platform": "linux/x86_64/3.15.0",
        "remoteAppName": "",
        "remoteMachineId": ""
      },
      "clientMutationId": "",
      "finalImage": {
        "id": "",
        "sizeBytes": 0,
        "tag": ""
      },
      "logs": "error rendering push status stream: blob upload unknown",
      "machineId": "",
      "status": "failed",
      "strategiesAttempted": [
        {
          "error": "",
          "note": "no buildpack builder configured, skipping",
          "result": "failed",
          "strategy": "Buildpacks"
        },
        {
          "error": "error rendering push status stream: blob upload unknown",
          "note": "",
          "result": "failed",
          "strategy": "Dockerfile"
        }
      ],
      "timings": {
        "buildAndPushMs": 83522,
        "buildMs": 23023,
        "builderInitMs": 183,
        "contextBuildMs": -1,
        "imageBuildMs": 22839,
        "pushMs": 60498
      }
    }
  },
  "operationName": "ResolverFinishBuild"
}

DEBUG {0x1400088ad50}
DEBUG <-- 200 https://api.fly.io/graphql (144.79ms)

DEBUG {
  "data": {
    "finishBuild": {
      "id": "4028520",
      "status": "failed",
      "wallclockTimeMs": 83677
    }
  }
}

DEBUG Task manager done
Error: failed to fetch an image or build from source: error rendering push status stream: blob upload unknown

I’ve noticed Fly.io has been pretty slow on deploys today. They’re usually just over a minute for me, but today, they’ve been upwards to 3 minutes or more, and now this.

I’m also having issues but my error is different: createRelease Could not find image...

We are seeing this as well unfortunately.

Potentially there is some emergency registry maintenance again? https://community.fly.io/t/error-failed-to-fetch-an-image-or-build-from-source-error-rendering-push-status-stream-unauthorized-not-allowed I guess we will have to see.

yes same here

Interesting… interesting but unfortunate. I hope this is rectified soon, though! Just hopelessly ran another deploy right now and no dice.

And yet the status page is all green :smiley:

Before encountering the error, the system remains in a specific layer with the message ‘d0fd6300ec2f: Retrying in 6 seconds,’ it indicates a retry attempt in progress.

Apparently it is manual not automatic.

Can’t push images directly to repo either.

Same here!!!

Same issue here! I swear fly.io has the worst uptime.

Also having this issue. Was able to deploy an app without issue, and then tried to deploy another a few minutes later and error city.

Error: failed to fetch an image or build from source: error rendering push status stream: blob upload unknown

We just updated our status page and are looking into this.

1 Like

Sorry for the inconvenience. We have a “backup” registry that only keeps storage in the IAD region, which we think will work around the issue you are seeing. Try it out with:

% FLY_REGISTRY_HOST=registry-iad.fly.io fly deploy

Use this if you are doing docker push directly to the registry:

% FLY_REGISTRY_HOST=registry-iad.fly.io fly auth docker
% docker push registry-iad.fly.io/your-app:latest

We are working to fix the core issue. We’ll report back once that’s done. In the meantime, we hope the above unblocks deployments.

I was able to deploy my application with the suggested workaround. Thank you for this!

Can you give more details about how to change the registry host?

You don’t change the registry host, you just prefix your fly deploy command w/ the back up registry. See the command above.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.