android / android/vkquality

Crashes on some devices

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
73
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Hi,
I'm developing a game in Unity 6 (6000.0.46f1) LTS. Without vkquality, I was encountering crashes on a few devices when minimizing the game (SM-A346B, Pixel 7 Pro). After testing, I found out that Vulkan was causing the issue. Once I implemented the vkquality package, those crashes disappeared—most likely because the devices are now using OpenGLES 3.

However, I'm now receiving new crash reports, so far from the following devices: Xiaomi Mi 10 (umi) and Google Pixel 6 Pro (raven).

### Xiaomi/Mi 10/umi
**Reason:** Native Crash - Unknown Function (/apex/com.android.runtime/lib64/bionic/libc.so)
**GPU version** Vulkan 1.1.0 [512.502.0 (0x801f6000)]

**first crash**
`0 libc.so 0x00000076a676e8bc `
`1 libunity.so 0x00000075799c4210 DebugStringToFilePostprocessedStacktrace(DebugStringToFileData const&) `
`2 libunity.so 0x00000075799c47a0 DebugStringToFile(DebugStringToFileData const&) `
`3 libunity.so 0x00000075797fb8a4 GetGfxDevice() `
`4 libunity.so 0x00000075792ab9c0 AndroidDisplayManagerVulkan::SwitchToOffscreenSwapchain(unsigned int) `
`5 libunity.so 0x00000075792a59e8 AndroidGraphics::SetWindow(unsigned int, ANativeWindow*) `
`6 libunity.so 0x00000075792be56c AttachSurface(int, _jobject*, _JNIEnv*) `
`7 libunity.so 0x00000075792c19d0 nativeRecreateGfxState(_JNIEnv*, _jobject*, int, _jobject*) `
`8 boot.oat 0x0000000071224520 `

**second crash**
`0 libc.so 0x00000076a676e8bc `
`1 libunity.so 0x0000007578a55210 DebugStringToFilePostprocessedStacktrace(DebugStringToFileData const&) `
`2 libunity.so 0x0000007578a557a0 DebugStringToFile(DebugStringToFileData const&) `
`3 libunity.so 0x000000757888c8a4 GetGfxDevice() `
`4 libunity.so 0x000000757833c35c AndroidDisplayManagerVulkan::Update(bool) `
`5 libunity.so 0x000000757833ea68 AndroidDisplayManager::Update(bool) `
`6 libunity.so 0x0000007578336dbc AndroidGraphics::ApplyPendingWindowChanges() `
`7 libunity.so 0x0000007578351fe8 UnityFocus(bool) `
`8 libunity.so 0x000000757835296c nativeFocusChanged(_JNIEnv*, _jobject*, bool)`
`9 boot.oat 0x000000007121a3e0 `

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the minimize, focus-change, and surface-recreation paths in Unity 6 on the reported Xiaomi Mi 10 and Pixel 6 Pro devices. Review the supplied Vulkan stack traces alongside vkquality's device selection behavior; the issue is complete only when the crash cause or a verified device-specific workaround is identified and confirmed by new crash reports.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, cpp, unity
Domain
computer-graphics, mobile-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.