Skip to content

Uploads of files larger than ~2GB fail (NotReadableError / "can't construct the Blob") #981

Description

@aaspinwall

Describe the bug

Uploading a file larger than ~2 GB in Thunderbird Send fails. Smaller files upload fine, but past roughly 2 GB the upload errors out and the file is never sent. The failure happens early, while the progress banner still shows "Hashing…" (see #980).

To Reproduce

Steps to reproduce the behavior:

  1. Open Thunderbird Send (Firefox) and sign in.
  2. Upload files of increasing size.
  3. Observe:
    • ~1 GB file: succeeds.
    • ~2 GB file: fails with Bug: can't construct the Blob.
    • ~3 GB and ~4 GB files: fail with Upload error for file 1: NotReadableError: The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.

Expected behavior

Large files (Send advertises support well beyond 2 GB) should upload successfully, or at minimum fail with a clear, actionable message rather than a low-level Blob/read error.

Actual behavior

  • ~2 GB: can't construct the Blob
  • ~3 GB / ~4 GB: NotReadableError: The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.

The failure appears to be tied to a ~2 GiB (2^31 bytes) boundary and occurs during the pre-upload hashing phase, before any bytes are uploaded.

Screenshots

System

  • OS: Windows 11 25H2
  • Browser Version: Firefox 152.0.5 (64-bit)

(A second reporter saw the same class of failure — 1 GB succeeded; 3 GB and 4 GB failed with the NotReadableError above.)

Additional context

Appears to be a client-side memory/File-API limitation: the pre-upload path reads whole slices into memory rather than streaming, so files crossing the ~2 GiB boundary hit browser Blob/ArrayBuffer/file-read limits. Related to the "Hashing…" phase tracked in #980.

Metadata

Metadata

Assignees

Labels

SendThis is an issue with Thunderbird Send's backend/frontend components

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions