Отчет о сбое устройства WebView для S9 / S9 +

Мы видели отчеты о сбоях, поступающие в 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.

Это странно, потому что у нас есть интегрированное решение для отчетов о сбоях (Microsoft App Center SDK), а другие отчеты о сбоях отправляются в Центр приложений.

Наше приложение интенсивно использует WebView, который, насколько я понимаю, теперь использует Chrome, работающий в отдельном процессе.

Поэтому мои вопросы:

  • Является ли тот факт, что этот отчет о сбое отправляется в Google Play, а не в Центр приложений, указывает на сбой, связанный с WebView?
  • Что может вызвать такой сбой? Пока что это затрагивает 3 уникальных пользователя, поэтому не похоже, чтобы он был специфичным для отдельного пользователя с необычной конфигурацией устройства.
  • Какие действия были бы наиболее эффективными для сужения и решения проблемы?

Мы также видим аналогичные сбои в игровом магазине, и все сбои сообщаются для устройств Samsung Galaxy S9 и S9 +. И сбой кажется спорадическим. Это происходит не на всех устройствах S9 и S9 +. Мы подозреваем, что виноват новый драйвер графического процессора телефона. На данный момент мы не знаем, как с этим справиться.

LUMICYAN 04.04.2018 18:04

Мы не можем воспроизвести проблему в версии S9 / S9 + для региона EMEA, но знаем, что это происходит с кем-то в США, возможно, с версией S9 / S9 + для США, которая имеет совершенно другое ядро ​​процессора.

Andrew Ebling 05.04.2018 12:30

@LUMICYAN использует ли ваше приложение WebView

Andrew Ebling 05.04.2018 14:07

Да, он широко использует веб-просмотр.

LUMICYAN 05.04.2018 16:39

@LUMICYAN Мне интересно, может ли отключение аппаратного ускорения решить проблему на этих устройствах через WebView.setLayerType(LAYER_TYPE_SOFTWARE)? Очевидно, это будет компромисс с производительностью, но предпочтительнее, чем сбой.

Andrew Ebling 06.04.2018 10:57

Отключение аппаратного ускорения - большое изменение, особенно когда приложение находится в рабочей среде. И мы не знаем, каковы другие последствия. Я посмотрел на форум разработчиков samsung и qualcomm, чтобы увидеть упоминания об этом сбое. Я не нашел подходящих сообщений.

LUMICYAN 06.04.2018 17:58

Согласен - вся ситуация далека от идеала, но я не уверен, какие еще варианты доступны нам на данный момент. Я бы рекомендовал отключить аппаратное ускорение только для этих конкретных устройств.

Andrew Ebling 06.04.2018 21:22

@LUMICYAN проработали ли вы какие-либо другие факторы при воспроизведении этой проблемы? Я не могу воспроизвести, используя US S9 или S9 + через Sigos / Device Anywhere.

Andrew Ebling 09.04.2018 09:04

Мы также не можем воспроизвести сбой на тестовом устройстве. Но я вижу, что на консоли Google Play появляется больше сообщений о сбоях.

LUMICYAN 09.04.2018 18:57

По мере поступления новых данных становится ясно, что эта проблема затрагивает только некоторые устройства starqltesq и star2qltesq. Мы знаем, что одно из устройств, на которых возникла эта проблема, имеет немного другой номер сборки и было бесплатным устройством, предоставленным непосредственно Samsung. Наша текущая рабочая теория состоит в том, что эти проблемные дополнительные устройства являются предварительными производственными или содержат предварительные сборки программного обеспечения. Кто-нибудь может подтвердить здесь общность?

Andrew Ebling 12.04.2018 10:59

Мы наблюдаем сбои на следующих устройствах. Galaxy S9 + (star2qltesq) (16 сбоев) Galaxy S9 (starqltesq) (9 сбоев) Galaxy S9 + (star2qlteue) (1 сбой)

LUMICYAN 12.04.2018 21:01

Выглядит вполне наглядно. Могу я узнать, как вы узнали, что это бесплатные устройства.

LUMICYAN 12.04.2018 21:10

Мы получили прямой отчет об ошибке от клиента нашей организации, у которого случайно оказалось одно из этих проблемных устройств. К сожалению, я не нахожусь в прямом контакте, но мы попытаемся заставить их загружать APK с отключенным аппаратным ускорением на WebView, чтобы посмотреть, исправит ли это это. Сообщу, когда узнаю больше.

Andrew Ebling 13.04.2018 11:54

Мы наблюдаем эту проблему по крайней мере на 5 устройствах S9: star2qltesq, starqltesq, star2qlteue, starqlteue, большинство первых двух и 520 сбоев для Other.

Gary Bak 14.04.2018 16:09

У кого-нибудь есть ясность в том, почему об этом сбое не сообщается в Центр приложений? Мы также пользуемся App Center, и об этом тоже не сообщалось.

Adam Terlson 16.05.2018 22:01

Что и @GaryBak, та же проблема, те же устройства. 2 месяца назад я отключил рекламу Fyber's Mediation Ads на вышеупомянутых устройствах, чтобы решить эту проблему. Проверял еще раз на прошлой неделе, но все равно бывает. Итак, снова с рекламой.

Ευάγγελος Μπίλης 03.07.2018 08:24

По-прежнему возникает та же самая проблема (приложения Xamarin Platform). Хотел бы исправить это :(

Jonathan ANTOINE 13.07.2018 16:17

Кто-нибудь когда-нибудь нашел для этого правильное решение? Я тоже сталкиваюсь с этой проблемой, за исключением FirebaseUI и ошибки рисования холста только на некоторых устройствах Samsung. (Не явно веб-просмотр)

Mr.Drew 22.01.2019 16:17

Я так и не нашел лучшего решения - я подозреваю, что основная причина - ошибка драйвера OpenGLES, которая запускается аппаратным ускорением для определенных команд. Я написал на форуме разработчиков Samsung, но так и не получил ответа: developer.samsung.com/forum/board/thread/…

Andrew Ebling 24.01.2019 12:25

@ Mr.Drew, вы можете получить подсказки для исправления этой проблемы в libgdx: github.com/libgdx/libgdx/issues/3790

Andrew Ebling 24.01.2019 12:29

Хм, у меня теперь немного другая проблема, когда я смог получить логи сбоев. Те же устройства дают сбой при рисовании одного из моих растровых ресурсов, а не веб-просмотра или сортировки. Но похоже, что это могло быть связано с графическим драйвером, чтобы он был только в этом подмножестве устройств.

Mr.Drew 25.01.2019 17:15

@ Мистер Дрю согласился - путь к возникновению проблемы другой, но я считаю, что основная причина, вероятно, аналогична. Мне было бы искренне интересно узнать, как вам удастся решить эту проблему - они могут даже быть потенциальным исправлением WebKit, которое можно извлечь из этого.

Andrew Ebling 30.01.2019 10:36

Итак, сейчас 2020 год, кто-нибудь нашел решение для этого?

Keselme 14.05.2020 13:42
15
23
2 829
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Отключение аппаратного ускорения теперь подтверждено как способ решения проблемы на следующих проблемных устройствах:

val product = Build.PRODUCT
val s9ProductsThatNeedWorkaround = arrayOf("starqltesq", "star2qltesq", "starqlteue", "star2qlteue")
if (s9ProductsThatNeedWorkaround.contains(product)) {
    WebView.setLayerType(LAYER_TYPE_SOFTWARE)
}

Однако при отображении веб-контента могут быть некоторые косметические аномалии.

Вы отключили аппаратное ускорение только для затронутых устройств или для всех устройств? Если вы нацелены только на тех, у кого есть эта проблема, не могли бы вы включить в свой ответ образец кода для эффективного нацеливания на устройства?

Adam Terlson 16.05.2018 21:51

Спасибо! Очень полезно.

Adam Terlson 17.05.2018 15:17

Отключение приложения Chrome помогло мне воспроизвести эту проблему (это приведет к использованию другой версии WebView). Похоже на идеальный шторм: 1) версия системы Android WebView, 2) версия обновления Samsung и 3) отображение контента в WebView. Применение обходного пути Эндрю предотвратило сбой в моем случае.

akodiakson 30.07.2018 18:07

@AdamTerlson, где я могу отключить аппаратное ускорение в реактивном приложении

Priyanka 29.08.2020 08:59

Другие вопросы по теме