Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Android 36.1 arm64 guest crashes naming a valid Vulkan descriptor-set layout

Open
#199 4 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
android, cpp

Research direction

Start with the standalone C++ reproducer described in the issue: create a descriptor-set layout, obtain vkSetDebugUtilsObjectNameEXT, and name the valid layout. Then investigate the guest-side vk_common_SetDebugUtilsObjectNameEXT path in vulkan.ranchu.so and compare behavior across the reported emulator versions. Done means identifying and fixing the guest-side crash, or confirming ownership and whether a fix already exists.

Written by the indexing model from the issue text.

Description

Reproducible guest Vulkan driver crash, independent of GPUI/wgpu

Android Emulator 37.2.12.0 build16428233 on macOS Apple Silicon with Android36.1 google_apis_playstore arm64-v8a image BP41.250822.007/14045093 (kernel6.12.38) crashes on vkSetDebugUtilsObjectNameEXT for a freshly created descriptor-set layout. Emulator36.1.9 exhibits same crash. Command: emulator -avd MyRemotely-GPUI -port5580 -no-snapshot -no-boot-anim -no-audio -no-window -gpu swiftshader. Vulkan/debug utils kept enabled; no workaround suppresses validation.

Original Rust app reaches first wgpu Device indirect-validation bind-group creation, then SIGSEGV in /vendor/lib64/hw/vulkan.ranchu.so vk_common_SetDebugUtilsObjectNameEXT at pc0x10fbf0. Its ash handle naming call uses the correct VkObjectType from the Handle trait immediately after successful create_descriptor_set_layout. A standalone C++ reproducer removes Rust/wgpu/GPUI completely and still exits139 while naming a valid freshly-created descriptor set layout.

Minimal program steps: create VkInstance with VK_EXT_debug_utils, enumerate physical devices, create VkDevice graphics queue, vkCreateDescriptorSetLayout with empty bindings, obtain vkSetDebugUtilsObjectNameEXT using vkGetDeviceProcAddr, VkDebugUtilsObjectNameInfoEXT objectType=VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT and objectHandle=reinterpret_cast<uint64_t>(layout), call. Expected VK_SUCCESS; actual SIGSEGV. Standalone printed handle b400007ba6003030 then exited139.

Can maintainers confirm ownership of the guest-side Mesa naming function and whether this image/backend combination has an existing fix? We can provide full minimal source and tombstone. No client-side disable-debug-naming patch proposed, since that would conceal the valid-call driver error rather than fix it.

Dominant language
C++
Stars
60
Forks
41
Avg merge
1d 2h
Merged PRs (30d)
9

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from google/gfxstream

All issues in google/gfxstream

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.