Skip to content

response.text() fails with "Unable to resolve data for blob" under concurrent fetch (Hermes, iOS device) #56884

Description

@xavi

Description

Many parallel fetch() calls, each using response.text() via a promise chain, intermittently fail with:

Error: Unable to resolve data for blob: <uuid>

Failures occur on the body read after HTTP succeeds, only when all of the following hold:

  • Release build (not Debug)
  • Physical iOS device (not simulator, or Android)
  • .then() on fetch / response.text() (not async/await for the same flow)

Code snippet

functionfetchOne(url){returnfetch(url).then(r=>{if(!r.ok)thrownewError(`HTTP ${r.status}`);returnr.text();// ← fails here}).then(text=>JSON.parse(text));}consturls=Array.from({length: 30},(_,i)=>`https://dummyjson.com/todos/${(i%200)+1}`);awaitPromise.all(urls.map(fetchOne));// repeat burst several times after launch

Environment

  • React Native: 0.85.3
  • Hermes: enabled
  • Device: iPhone 13 mini
  • iOS: 26.4.2

Steps to reproduce

  1. Clone https://github.com/xavi/RnFetchBlobConcurrencyRepro
  2. Connect and unlock a physical iPhone (bug doesn't occur on the simulator).
  3. From the repo root:
npm install
cd ios && bundle install && bundle exec pod install &&cd ..
npx react-native run-ios --device --mode Release
  1. Launch app, tap Run burst several times (often 2–5×). Log should show (N blob) with N > 0. With DEFAULT_BURST_COUNT of 30, roughly 1 in 4 bursts on iPhone 13 mini (iOS 26.4.2) — edit src/reproConfig.ts to tune.

React Native Version

0.85.3

Affected Platforms

Runtime - iOS

Output of npx @react-native-community/cli info

System:
OS: macOS 26.4.1
CPU: (8) arm64 Apple M2
Memory: 116.31 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 24.13.1
path: /Users/xavi/.nvm/versions/node/v24.13.1/bin/node
Yarn:
version: 1.22.22
path: /opt/homebrew/bin/yarn
npm:
version: 11.8.0
path: /Users/xavi/.nvm/versions/node/v24.13.1/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
path: /Users/xavi/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.4
- iOS 26.4
- macOS 26.4
- tvOS 26.4
- visionOS 26.4
- watchOS 26.4
Android SDK:
Android NDK: 27.1.12297006
IDEs:
Android Studio: 2025.3 AI-253.32098.37.2534.15336583
Xcode:
version: 26.4.1/17E202
path: /usr/bin/xcodebuild
Languages:
Java:
version: 25.0.3
path: /usr/bin/javac
Ruby:
version: 3.1.2
path: /Users/xavi/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.1.0
wanted: 20.1.0
react:
installed: 19.2.3
wanted: 19.2.3
react-native:
installed: 0.85.3
wanted: 0.85.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true

Stacktrace or Logs

Unable to resolve data for blob: 7B4027AD-B4E0-4D01-AD1E-82D231DB3359

MANDATORY Reproducer

https://github.com/xavi/RnFetchBlobConcurrencyRepro

Screenshots and Videos

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions