Skip to content

ERR_STORAGE_READ_FAILED — Storage Read Failed

HTTP Status: 500 Retryable: Yes Automatic retry: None. Storage read operations are not automatically retried.

What the User Sees

Failed to read file from storage. (ERR_STORAGE_READ_FAILED)

What Causes This Error

Cloudflare R2 threw an error when attempting to read an object from the storage bucket. This is distinct from an object-not-found condition (which returns null) — this represents an actual infrastructure error from R2.

This is a transient R2 infrastructure issue that typically resolves on its own. It can occur in multiple code paths: export routes (HTML, ZIP, markdown, SCORM, form downloads), the conversion pipeline (reading the uploaded PDF for processing), and chunk assembly (reading individual chunk outputs to combine into the final result).

All export routes in routes/export.ts wrap R2 reads in try/catch blocks and return a 500 with this error code when the read fails. The conversion pipeline also handles this gracefully, marking the conversion as failed rather than crashing.

Resolution Steps

For Users

  1. Try the download or operation again in a moment. This is usually a temporary storage issue.
  2. If downloading converted output, your conversion result is still saved — it just could not be retrieved momentarily.
  3. If the error persists for more than a few minutes, the storage service may be experiencing an outage.

For Administrators

  1. Check https://www.cloudflarestatus.com for any R2 incidents or degraded performance.
  2. Check R2 bucket health in the Cloudflare dashboard. Verify the bucket exists and has not been accidentally deleted.
  3. Verify R2 bucket bindings in wrangler.toml are correct and the binding names match what the code expects.
  4. If the error is isolated to specific objects, the objects may have been corrupted or deleted. Check the R2 browser in the Cloudflare dashboard.
  5. Review structured logs for the specific R2 error message — R2 errors include an error code that can help identify the root cause.