S9/S9+ конкретный отчет о сбое устройства WebView
Мы наблюдаем отчеты о сбоях, поступающие в Google Play, которые относятся к Samsung S9 (starqlesq) и S9+ (star2qlesq), работающие под управлением Android 8.0.0:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) backtrace: #00 pc 0000000000a51278/vendor/lib64/libllvm-glnext.so(_ZN13ShaderObjects17loadProgramBinaryEP15CompilerContextPvmP23QGLC_LINKPROGRAM_RESULT+1396) #01 pc 000000000099b500/vendor/lib64/libllvm-glnext.so(_ZN15CompilerContext17loadProgramBinaryEPvmP23QGLC_LINKPROGRAM_RESULT+160) #02 pc 0000000000a6e110/vendor/lib64/libllvm-glnext.so(_Z21QGLCLoadProgramBinaryPvS_mP23QGLC_LINKPROGRAM_RESULT+88) #03 pc 00000000001a501c/vendor/lib64/egl/libGLESv2_adreno.so(_ZN17EsxShaderCompiler21LoadProgramBinaryBlobEP10EsxContextP10EsxProgramPKvmP10EsxInfoLog+256)
Рассматривая вышеупомянутую трассировку стека, авария появляется в системном коде OpenGL.
Это странно, потому что у нас есть интегрированное решение для отчетов о сбоях (SDK для Microsoft App Center) и другие отчеты о сбоях в App Center.
Наше приложение сильно использует WebView
, и теперь я понимаю, что Chrome работает в отдельном процессе.
Поэтому мои вопросы:
- Является ли этот отчет о
WebView
Google Play, а не App Center, свидетельствующим о WebView
в работе WebView
? - Что может привести к сбою? Пока это затрагивает 3 уникальных пользователя, поэтому оно не похоже на конкретного пользователя с необычной конфигурацией устройства.
- Какие действия будут наиболее эффективными в сокращении и разрешении проблемы?
Ответы
Ответ 1
Отказ от аппаратного ускорения теперь подтвержден как работающий над проблемой на этих проблемных устройствах:
val product = Build.PRODUCT
val s9ProductsThatNeedWorkaround = arrayOf("starqltesq", "star2qltesq", "starqlteue", "star2qlteue")
if (s9ProductsThatNeedWorkaround.contains(product)) {
WebView.setLayerType(LAYER_TYPE_SOFTWARE)
}
Однако могут возникнуть некоторые косметические аномалии при разрыве веб-контента.