Cloud Run 503: The request failed because the instance had an error Google Cloud / Firebase Origin: Platform & cloud Last updated 4 Nov 2026

Cloud Run: 503 Service Unavailable — The request was aborted because there was no available instance

Cloud Run could not serve the request: no instance was ready, instances crashed, or the service hit its max-instances/concurrency limit.

Exact message you may see The request failed because either the HTTP response was malformed or connection to the instance had an error503 Service Unavailable Cloud RunThe request was aborted because there was no available instanceCloud Run 503 no available instanceThe request failed because the instance had an error
Seen on: Google Cloud

Meaning

Look at the logs (Container called exit(1), OOM, startup probe failed) and at metrics for instance count and concurrency. 503 with "no available instance" means scaling limits (--max-instances), slow cold starts or quota; with "instance had an error" the container crashed while handling the request.

Common causes

  • max-instances reached while traffic spikes
  • Container crashing (exit, OOM, unhandled exception)
  • Slow startup beyond the startup probe window
  • Concurrency set too low for the load
  • Regional quota or CPU allocation limits

⚡ Quick fix

  1. Raise --max-instances / --concurrency appropriately
  2. Read Cloud Logging for the crash reason
  3. Use --min-instances 1 to avoid cold starts and fix startup time

Detailed fix by platform

gcloud

  1. gcloud logging read 'resource.type="cloud_run_revision" AND severity>=ERROR' --limit 20

How to diagnose

  1. Message — No instance or instance error?
  2. Limits — max-instances/concurrency?
  3. Logs — Crash or OOM?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Platform & cloud. Errors that are often confused with or caused by this one (click to open):

502 Bad Gateway: failed_to_connect_to_backend — Google Cloud Load Balancing: 502 Bad Gateway — jsonPayload.statusDetails: failed_to_connect_to_backend / backend_connection_closed_before_data_sent_to_client (Google Cloud / Firebase)502 Bad Gateway: fail…Cloud Run 403: Your client does not have permission to get URL — Cloud Run: Error: Forbidden — Your client does not have permission to get URL / from this server (Google Cloud / Firebase)Cloud Run 403: Your c…Cloud Run 504: The request has been terminated because it has reached the maximum request timeout — Cloud Run: 504 Gateway Timeout — The request has been terminated because it has reached the maximum request timeout (Google Cloud / Firebase)Cloud Run 504: The re…Cloud Run: Image not found / failed to pull — Cloud Run: Revision 'svc-00005' is not ready — Image 'gcr.io/proj/app:latest' not found / Permission 'artifactregistry.repositories.downloadArtifacts' denied (Google Cloud / Firebase)Cloud Run: Image not …Cloud SQL: too many connections — Cloud SQL: FATAL: remaining connection slots are reserved / MySQL: ERROR 1040 (08004): Too many connections (Google Cloud / Firebase)Cloud SQL: too many c…Container failed to start — Cloud Run: The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable (Google Cloud / Firebase)Container failed to s…Container memory limit exceeded — Cloud Run: Memory limit of 512 MiB exceeded with 530 MiB used. Consider increasing the memory limit (Google Cloud / Firebase)Container memory limi…GKE Ingress: backends marked UNHEALTHY (502) — GKE Ingress: Some backend services are in UNHEALTHY state / 502 Server Error from the load balancer (Google Cloud / Firebase)GKE Ingress: backends…Cloud Run…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.