Shopify / Shopify/react-native-skia
Infrequent Headless Aborted
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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