Shopify / Shopify/react-native-skia

Infrequent Headless Aborted

Open
#3,769 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
8.6k
Forks
647
Avg merge
1d 17h
Merged PRs (30d)
35

Description

Description

Hey William! I have another fun headless edge case to report. We're seeing intermittent headless crashes for the past few weeks. If I were to ballpark, these are on the scale of 1 in 10,000 renders. We've just recently upgraded to v2.5.3 (from v2.2.14) and now have a somewhat more useful error message to report.

Before this upgrade, we've been seeing vague error messages of [RuntimeError: memory access out of bounds] { componentStack: '\nu8t' } and table index is out of bounds (which may or may not be related to this new issue). The most recent errors that we've been seeing are Aborted(). Build with -sASSERTIONS for more info. and Cannot read properties of null (reading 'getCanvas').

These are running on AWS Lambda infrastructure, which is likely where the safeguards are coming from to prevent out of bounds memory access.

I apologize bringing this issue up with such little reproducibility. I'm open to any hints as to where we can experiment, or steps we can take to improve future debugging. Totally understandable if this issue is out of scope considering the lack of reproducibility here.

React Native Skia Version

2.5.3

React Native Version

N/A

Using New Architecture
  • Enabled
Steps to Reproduce

Large-scale rendering on AWS Lambda. Unfortunately, this issue is so intermittent and infrequent that I don't think it'd be feasible to reproduce. We'll likely need a few days of production deployment to validate any potential solutions here.

Snack, Code Example, Screenshot, or Link to Repository

N/A

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the reported headless rendering failures on AWS Lambda, including the memory, abort, and null getCanvas errors, and compare behavior across the stated React Native Skia versions. Done means identifying a reproducible cause or diagnostic path and validating a fix with large-scale production rendering.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, react-native
Domain
cloud
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.