GrapheneOS / os-issue-tracker

Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.
https://grapheneos.org/
361 stars 21 forks source link

System_Server & Systemui crashes #3993

Closed binguy closed 2 months ago

binguy commented 2 months ago

Encountered those while watching a video NewPipe, the screen froze, it turned black after some time and then in some menu (boot loader menu i think) where i just chose to start the device normally. I received notifications about 2 crashes, one in system_server and the 2nd one in com.android.systemui with corresponding crash logs:

type: crash
osVersion: google/panther/panther:14/AP2A.240905.003/2024090400:user/release-keys
uid: 10108 (u:r:platform_app:s0:c512,c768)
cmdline: com.android.systemui
processUptime: 119031s

abortMessage: VK_ERROR_DEVICE_LOST (RenderThread, 2 vendor info (65537:4294967410, 65537:0)): Exception type 0x10001: GPU fault. Group 0.

signal: 6 (SIGABRT), code -1 (SI_QUEUE)
threadName: RenderThread

backtrace:
    /apex/com.android.runtime/lib64/bionic/libc.so (abort+164, pc 64a24)
    /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+596, pc 905b24)
    /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80, pc 17ca0)
    /system/lib64/liblog.so (__android_log_assert+292, pc 7014)
    /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::onVkDeviceFault(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator<VkDeviceFaultAddressInfoEXT> > const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator<VkDeviceFaultVendorInfoEXT> > const&, std::__1::vector<std::byte, std::__1::allocator<std::byte> > const&) (.__uniq.192405051647925496281077346275335259674)+1400, pc 594d48)
    /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::deviceLostProcRenderThread(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator<VkDeviceFaultAddressInfoEXT> > const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator<VkDeviceFaultVendorInfoEXT> > const&, std::__1::vector<std::byte, std::__1::allocator<std::byte> > const&) (.__uniq.192405051647925496281077346275335259674)+56, pc 594778)
    /system/lib64/libhwui.so (skgpu::InvokeDeviceLostCallback(skgpu::VulkanInterface const*, VkDevice_T*, void*, void (*)(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator<VkDeviceFaultAddressInfoEXT> > const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator<VkDeviceFaultVendorInfoEXT> > const&, std::__1::vector<std::byte, std::__1::allocator<std::byte> > const&), bool)+648, pc 218e08)
    /system/lib64/libhwui.so (GrVkResourceProvider::checkCommandBuffers()+228, pc 4dc554)
    /system/lib64/libhwui.so (GrDirectContext::performDeferredCleanup(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >, GrPurgeResourceOptions)+108, pc 32defc)
    /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+704, pc 4c3f70)
    /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+244, pc 115d4)
    /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc 767ac)
    /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 67d50)
osVersion: google/panther/panther:14/AP2A.240905.003/2024090400:user/release-keys
uid: 1000 (u:r:system_server:s0)
cmdline: system_server
processUptime: 119037s

abortMessage: VK_ERROR_DEVICE_LOST (RenderThread, 2 vendor info (65537:4294967410, 65537:0)): Exception type 0x10001: GPU fault. Group 0.

signal: 6 (SIGABRT), code -1 (SI_QUEUE)
threadName: RenderThread

backtrace:
    /apex/com.android.runtime/lib64/bionic/libc.so (abort+164, pc 64a24)
    /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+596, pc 905b24)
    /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80, pc 17ca0)
    /system/lib64/liblog.so (__android_log_assert+292, pc 7014)
    /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::onVkDeviceFault(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator<VkDeviceFaultAddressInfoEXT> > const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator<VkDeviceFaultVendorInfoEXT> > const&, std::__1::vector<std::byte, std::__1::allocator<std::byte> > const&) (.__uniq.192405051647925496281077346275335259674)+1400, pc 594d48)
    /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::deviceLostProcRenderThread(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator<VkDeviceFaultAddressInfoEXT> > const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator<VkDeviceFaultVendorInfoEXT> > const&, std::__1::vector<std::byte, std::__1::allocator<std::byte> > const&) (.__uniq.192405051647925496281077346275335259674)+56, pc 594778)
    /system/lib64/libhwui.so (skgpu::InvokeDeviceLostCallback(skgpu::VulkanInterface const*, VkDevice_T*, void*, void (*)(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator<VkDeviceFaultAddressInfoEXT> > const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator<VkDeviceFaultVendorInfoEXT> > const&, std::__1::vector<std::byte, std::__1::allocator<std::byte> > const&), bool)+648, pc 218e08)
    /system/lib64/libhwui.so (GrVkResourceProvider::checkCommandBuffers()+228, pc 4dc554)
    /system/lib64/libhwui.so (GrDirectContext::performDeferredCleanup(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >, GrPurgeResourceOptions)+108, pc 32defc)
    /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+704, pc 4c3f70)
    /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+244, pc 115d4)
    /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc 767ac)
    /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 67d50)

Looking at issues from other people here, it seems like a hardware/driver/firmware issue but i have not seen anyone encounter those 2 crashes simultaneously, only system_server though i'm not sure if that changes a conclusion much.

thestinger commented 2 months ago

These look like a known GPU firmware/driver issue. Not much we can do. Could also be caused by a hardware fault or potentially overheating.