Critical GPU Bug Capable of Triggering Reboots Found in Snapdragon Variants of the Samsung Galaxy S9/S9 Plus

Author Photo
Apr 23, 2018
18Shares
Submit

There’s no denying the fact that the Samsung Galaxy S9 is arguably one of the best Android phones on the market right now, but it isn’t without its share of problems. From black crush problems in the super AMOLED panel to dead zones on the touchscreen, the device has more than its share of problems, merely months after launch. Today’s bug is far more serious and was discovered by a U.K. based company called GraphicsFuzz, which specializes in testing GPU reliability on mobile devices.

Earlier, the company discovered a security issue affecting the ARM driver for the Samsung Galaxy S6, for which Google awarded them a bug bounty. While testing the Snapdragon variant of the Samsung Galaxy S9, the team found an error in the Adreno 630’s graphics driver that triggers a whole-phone reboot via an Internet page, when browsing with the stock Samsung Internet browser. According to GraphicsFuzz, there is an error in the Adreno 630’s rendering of a shader (a program that allows the GPU to render an image) that can trigger a reboot under certain conditions. A

iphone-6-plus-catches-fireRelated The iPhone 6 Has A Massive Difference In Failure Rate Compared To The iPhone X

Exynos-based devices worked just fine, the Adreno 630 GPU found to be at fault

An in-depth investigation indicated that the root cause of the issue lies in the GPU driver for the Qualcomm Adreno 630, which is part of the Qualcomm Snapdragon 845 system-on-chip. When the phone renders the complex shader, the GPU sets something called a “fence”, which is used to regulate the access to the shared memory between the CPU and GPU. Unlike a dedicated desktop GPU, a mobile GPU shares the same RAM as the CPU, so it uses a fence to access that shared memory, when under load. The problem arises from the fact that the fence is not able to complete which causes the phone to reboot. XDA Developers tested the Snapdragon-based Samsung Galaxy S9+ with several browsers and obtained the following results:

Web Browser Result
Google Chrome v65.0.3325.109 Freezes for ~2 seconds only
Samsung Internet v7.0.10.46 Freezes then eventually triggers a full reboot
Opera v45.1.2246.125351 Freezes phone
Microsoft Edge v1.0.0.1726 Freezes for ~3 seconds only
Firefox v59.0.2 Browser crashes

 

The bug only affects Samsung’s in-house browser; Samsung Internet. Other browsers merely crash after a while, as they have mechanisms in place to ends the GPU process after a set period, to prevent the device from crashing. Interestingly, the Exynos variant of the Samsung Galaxy S9, which comes with the Mali-G72 GPU can successfully render the shader, which brings us to the conclusion that the issue lies with the Adreno GPU. Theoretically, the bug should affect any device running the Snapdragon 845 SoC, but that remains to be tested. While the web page able to trigger the reboot on the S9 is kept private for security reasons, the GraphicsFuzz demo let you run 15 tests on your own device to look for less severe bugs, e.g. wrong images due to GPU driver& issues.

Source: XDA developers

Submit