App crashing on Samsung Galaxy S9+ (star2qltesq), Android 8.0 #20220
Description
- Review the documentation: https://facebook.github.io/react-native
- Search for existing issues: https://github.com/facebook/react-native/issues
- Use the latest React Native release: https://github.com/facebook/react-native/releases
Environment
OS: Windows 10
Node: 10.6.0
Yarn: 1.7.0
npm: 6.1.0
Watchman: Not Found
Xcode: N/A
Android Studio: Version 3.1.0.0 AI-173.4819257
Packages: (wanted => installed)
react: ^16.4.1 => 16.4.1
react-native: 0.55.4 => 0.55.4
Description
I have released an app to the play store and its working fine but I got a crash with the following log in play console and I'm not sure what to make of it. The crash happens on Samsung Galaxy S9+ (star2qltesq) running Android 8.0.
Here is the crash log
backtrace:
#00 pc 000000000001a6f0 /system/lib/libc.so (strlen+11)
#01 pc 0000000000761c39 /vendor/lib/libllvm-glnext.so (_ZN14MetaDataExport19duplicateSymbolDataEP20QGLC_GLSL_SYMBOLDATAPKS0_+208)
#02 pc 0000000000766d87 /vendor/lib/libllvm-glnext.so (_ZN13ShaderObjects17loadProgramBinaryEP15CompilerContextPvjP23QGLC_LINKPROGRAM_RESULT+1486)
#03 pc 00000000006e5495 /vendor/lib/libllvm-glnext.so (_ZN15CompilerContext17loadProgramBinaryEPvjP23QGLC_LINKPROGRAM_RESULT+108)
#04 pc 00000000007787c1 /vendor/lib/libllvm-glnext.so (_Z21QGLCLoadProgramBinaryPvS_jP23QGLC_LINKPROGRAM_RESULT+52)
#05 pc 0000000000152023 /vendor/lib/egl/libGLESv2_adreno.so (_ZN17EsxShaderCompiler21LoadProgramBinaryBlobEP10EsxContextP10EsxProgramPKvjP10EsxInfoLog+170)
#06 pc 000000000013490d /vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxProgram17LoadProgramBinaryEP10EsxContextjPKvi+158)
#07 pc 00000000000ac389 /vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext15GlProgramBinaryEjjPKvi+134)
#08 pc 0000000000097553 /vendor/lib/egl/libGLESv2_adreno.so (glProgramBinary+42)
#09 pc 00000000017491ff /data/app/com.android.chrome-HHWtCaxowbzF03n80oXarQ==/base.apk
Here is a snippet from app/build.gradle file
def enableSeparateBuildPerCPUArchitecture = true
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "xx.xxxx.xxx"
multiDexEnabled true
minSdkVersion 16
targetSdkVersion 27
versionCode x
versionName "x.x.x"
packagingOptions {
exclude "lib/arm64-v8a/libimagepipeline.so"
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk true
include "armeabi-v7a"
}
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def versionCodes = ['armeabi-v7a': 1]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) {
output.versionCodeOverride = versionCodes.get(abi) * 300000 + variant.versionCode
}
}
}
}
Upon further research it seems to be an issue with this specific device running a certain build. You can check out S9/S9+ specific WebView device crash report for more info. There were issues created on samsung forums which have not got any response yet
The solution according to the stackoverflow post linked above is to disable hardware acceleration for webview.
I'm not using an webview in the react native app but considering react native is written in js which is probably running a chromium instance, does the same logic apply? If so, how do you disable hardware acceleration in react native?
Reproducible Demo
It is a live project an I'm not at liberty to give the app name for now.