Компания GraphicsFuzz, специализирующаяся на выявлении различных ошибок в графических ядрах процессоров, нашла баг в Adreno 630, приводящий к зависанию и, в некоторых случаях, перезагрузке устройств на процессоре Snapdragon 845 при отображении веб-страниц с библиотекой WebGL. Специалисты обнаружили эту проблему при тестировании Samsung Galaxy S9.
По заявлениям GraphicsFuzz, они обнаружили баг в Adreno 630 при стандартном тестировании графического ядра — специалисты не создавали специальную веб-страницу с перегруженной библиотекой WebGL или чем-то подобным. Они протестировали найденную ошибку в пяти популярных браузерах и получили следующие результаты:
- Samsung Internet 7.0.10.46 — смартфон зависает и впоследствии перезагружается.
- Google Chrome 65.0.3325.109 — смартфон зависает на 2 секунды.
- Opera 45.1.2246.125351 — смартфон зависает, нужно делать принудительную перезагрузку.
- Microsoft Edge 1.0.0.1726 — смартфон зависает на 3 секунды.
- Firefox 59.0.2 — браузер крашится.
В ходе тестов сотрудники GraphicsFuzz пришли к выводу, что причиной зависания при обработке элементов библиотеки WebGL является ошибка именно в графическом ядре Adreno 630. Они также проверили Google Pixel 2 XL на базе прошлогоднего Qualcomm Snapdragon 835 и заметили незначительное подтормаживание браузера от Samsung. Вероятно, баг кроется в драйвере графического ядра от Qualcomm.
GraphicsFuzz уже отправили отчёт в Qualcomm и Samsung. Вряд ли американская корпорация сможет исправить баг в кратчайшие сроки, но южнокорейский гигант однозначно сможет довольно быстро выпустить обновление для своего веб-обозревателя, которое смягчит негативные последствия отображения контента WebGL.