-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Description
Minimal reproducible example
https://github.com/schnellerzug/repro-expo-gl-three
Steps to reproduce
I am experiencing a consistent native crash (SIGSEGV) on Android in Release/Preview builds when rendering a basic @react-three/fiber scene. The crash occurs during the WebGL renderer initialization within libexpo-gl.so.
This issue is reproducible in a minimal standalone project and seems to be related to expo-gl's interaction with the JS runtime (Hermes) in production builds.
Steps to Reproduce
1.Clone the minimal reproduction repository
2.Install dependencies
3.Generate the Android native project npx expo prebuild -p android --clean
4. Build the release APK (crash does not reliably reproduce in development or in expo go): cd android && ./gradlew :app:assembleRelease
5.Install and launch on a physical device
Expected Behavior
The app should launch and render the simple 3D scene (e.g., a rotating cube) without crashing the native layer.
Actual Behavior
The app crashes immediately upon startup (or when the GL view initializes) with a native segmentation fault.
Crash Log:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
...
#00 pc ... libhermes.so
#1 pc ... libexpo-gl.so (expo::gl_cpp::ensurePrototypes(facebook::jsi::Runtime&)+124)
#2 pc ... libexpo-gl.so (expo::gl_cpp::createWebGLRenderer...)
#3 pc ... libexpo-gl.so (expo::gl_cpp::EXGLContext::prepareContext...)
#4 pc ... libexpo-gl.so (EXGLContextPrepare...)
Environment
expo-env-info 2.0.8 environment info:
System:
OS: Windows 10 10.0.19045
Binaries:
Node: 24.3.0 - C:\nvm4w\nodejs\node.EXE
Yarn: 1.22.22 - C:\nvm4w\nodejs\yarn.CMD
npm: 11.4.2 - C:\nvm4w\nodejs\npm.CMD
npmPackages:
expo: ^54.0.0 => 54.0.29
react: 19.1.0 => 19.1.0
react-native: 0.81.5 => 0.81.5
Expo Workflow: bare
Expo Doctor Diagnostics
17/17 checks passed. No issues detected!