parser calls Segfault while creating shader module on android
### Version of vulkano
0.35.2
### OS (incl. version)
Android 16, Android 11
### Selected physical device
Adreno (TM) 710, Mali-G52 MC2
### Driver (incl. version)
Adreno, Mali
### Issue description
No matter what I do, I can’t create a shader module on an Android device. As far as I understand, the problem is in the SPIRV vulkano parser, because ash successfully creates my shader module. The problem was noticed on Android 11 and Android 16, on Linux and Windows everything works correctly, I limited the Vulcan version to 1.1, here is the log:
---------------------------- PROCESS STARTED (17618) for package org.libsdl.app ----------------------------
2026-02-15 10:57:55.257 17618-17618 nativeloader org.libsdl.app D Load libframework-connectivity-tiramisu-jni.so using APEX ns com_android_tethering for caller /apex/com.android.tethering/javalib/framework-connectivity-t.jar: ok
2026-02-15 10:57:55.318 17618-17618 nativeloader org.libsdl.app D Configuring clns-9 for other apk /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk. target_sdk_version=36, uses_libraries=, library_path=/data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64:/data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/org.libsdl.app
2026-02-15 10:57:55.327 17618-17618 org.libsdl.app org.libsdl.app I AssetManager2(0xb4000072448dbe28) locale list changing from [] to [ru-RU]
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V Currently set values for:
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V angle_gl_driver_selection_pkgs=[com.android.angle, com.linecorp.b612.android, com.campmobile.snow, com.google.android.apps.tachyon]
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V angle_gl_driver_selection_values=[angle, native, native, native]
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V org.libsdl.app is not listed in per-application setting
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V ANGLE allowlist from config:
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V org.libsdl.app is not listed in ANGLE allowlist or settings, returning default
2026-02-15 10:57:55.339 17618-17618 GraphicsEnvironment org.libsdl.app V Updatable production driver is not supported on the device.
2026-02-15 10:57:55.368 17618-27138 DisplayManager org.libsdl.app I Choreographer implicitly registered for the refresh rate.
2026-02-15 10:57:55.416 17618-17618 org.libsdl.app org.libsdl.app I AssetManager2(0xb4000072448dc728) locale list changing from [] to [ru-RU]
2026-02-15 10:57:55.426 17618-27138 vulkan org.libsdl.app D searching for layers in '/data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64'
2026-02-15 10:57:55.427 17618-27138 vulkan org.libsdl.app D searching for layers in '/data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk!/lib/arm64-v8a'
2026-02-15 10:57:55.432 17618-27138 AdrenoVK-0 org.libsdl.app I ===== BEGIN DUMP OF OVERRIDDEN SETTINGS =====
2026-02-15 10:57:55.432 17618-27138 AdrenoVK-0 org.libsdl.app I ===== END DUMP OF OVERRIDDEN SETTINGS =====
2026-02-15 10:57:55.464 17618-17618 ashmem org.libsdl.app E Pinning is deprecated since Android Q. Please use trim or other methods.
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I QUALCOMM build : 651341e91d, I8d46b3bbb7
Build Date : 08/04/25
Shader Compiler Version : E031.50.02.00
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.12.3.11.00.00.934.442
Remote Branch : NONE
Reconstruct Branch : NOTHING
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I Build Config : S P 12.1.6 AArch64
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I Driver Path : /vendor/lib64/hw/vulkan.adreno.so
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I Driver Version : 0819.0.2
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I PFP : 0x01710158
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I ME : 0x00000000
2026-02-15 10:57:55.480 17618-27138 AdrenoVK-0 org.libsdl.app I Application Name : android framework
Application Version : 0x00000000
Engine Name : android framework
Engine Version : 0x00000000
Api Version : 0x00401000
2026-02-15 10:57:55.490 17618-17618 SDL org.libsdl.app V Manufacturer: Xiaomi
2026-02-15 10:57:55.490 17618-17618 SDL org.libsdl.app V Device: garnet
2026-02-15 10:57:55.490 17618-17618 SDL org.libsdl.app V Model: 23122PCD1G
2026-02-15 10:57:55.490 17618-17618 SDL org.libsdl.app V onCreate()
2026-02-15 10:57:55.496 17618-17618 nativeloader org.libsdl.app D Load /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libSDL3.so using class loader ns clns-9 (caller=/data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk!classes2.dex): ok
2026-02-15 10:57:55.504 17618-17618 nativeloader org.libsdl.app D Load /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so using class loader ns clns-9 (caller=/data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk!classes2.dex): ok
2026-02-15 10:57:55.504 17618-17618 SDL org.libsdl.app V nativeSetupJNI()
2026-02-15 10:57:55.504 17618-17618 SDL org.libsdl.app V AUDIO nativeSetupJNI()
2026-02-15 10:57:55.504 17618-17618 SDL org.libsdl.app V CONTROLLER nativeSetupJNI()
2026-02-15 10:57:55.552 17618-17618 CompatChangeReporter org.libsdl.app D Compat change id reported: 377864165; UID 10606; state: ENABLED
2026-02-15 10:57:55.556 17618-17618 DesktopModeFlags org.libsdl.app D Toggle override initialized to: OVERRIDE_UNSET
2026-02-15 10:57:55.563 17618-17618 SDL org.libsdl.app V onStart()
2026-02-15 10:57:55.564 17618-17618 SDL org.libsdl.app V onResume()
2026-02-15 10:57:55.603 17618-17618 InsetsController org.libsdl.app D Setting requestedVisibleTypes to -14 (was -9)
2026-02-15 10:57:55.620 17618-27189 perf_hint org.libsdl.app E createSessionUsingConfig: PerformanceHint cannot create session. PowerHintSessions are not supported!
2026-02-15 10:57:55.627 17618-17618 InsetsController org.libsdl.app D Setting requestedVisibleTypes to -9 (was -14)
2026-02-15 10:57:55.655 17618-17618 SDL org.libsdl.app V surfaceCreated()
2026-02-15 10:57:55.655 17618-17618 SDL org.libsdl.app V surfaceChanged()
2026-02-15 10:57:55.655 17618-17618 SDL org.libsdl.app V Window size: 1220x2712
2026-02-15 10:57:55.655 17618-17618 SDL org.libsdl.app V Device size: 1220x2712
2026-02-15 10:57:55.671 17618-27195 SDL org.libsdl.app V nativeInitSDLThread() 1 time
2026-02-15 10:57:55.671 17618-27195 SDL org.libsdl.app V Running main function SDL_main from library /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:55.673 17618-27195 main org.libsdl.app I Starting app...
2026-02-15 10:57:55.677 17618-27138 Gralloc4 org.libsdl.app I Adding additional valid usage bits: 0x8202000
2026-02-15 10:57:55.679 17618-27138 qdgralloc org.libsdl.app W getInterlacedFlag: getMetaData returned -22, defaulting to interlaced_flag = 0
2026-02-15 10:57:55.709 17618-27195 SDL org.libsdl.app V setOrientation() requestedOrientation=13 width=800 height=600 resizable=true hint=
2026-02-15 10:57:55.754 17618-17618 SDL org.libsdl.app V onWindowFocusChanged(): true
2026-02-15 10:57:56.246 17618-17618 SDL org.libsdl.app V nativeFocusChanged()
2026-02-15 10:57:56.260 17618-17618 ImeTracker org.libsdl.app I org.libsdl.app:aac42abe: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT fromUser false
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I QUALCOMM build : 651341e91d, I8d46b3bbb7
Build Date : 08/04/25
Shader Compiler Version : E031.50.02.00
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.12.3.11.00.00.934.442
Remote Branch : NONE
Reconstruct Branch : NOTHING
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I Build Config : S P 12.1.6 AArch64
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I Driver Path : /vendor/lib64/hw/vulkan.adreno.so
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I Driver Version : 0819.0.2
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I PFP : 0x01710158
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I ME : 0x00000000
2026-02-15 10:57:56.270 17618-27195 AdrenoVK-0 org.libsdl.app I Application Name : PhysicalEngine
Application Version : 0x00000000
Engine Name : (null)
Engine Version : 0x00000000
Api Version : 0x00401000
2026-02-15 10:57:56.272 17618-27195 AdrenoVK-0 org.libsdl.app I Unknown struct with type 0x3b9efc38 provided to vkGetPhysicalDeviceFeatures2
2026-02-15 10:57:56.283 17618-27195 main::vulk...lkan_logic org.libsdl.app I Shader module created SUCCESS
2026-02-15 10:57:56.283 17618-27195 libc org.libsdl.app A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x71d94108d0 in tid 27195 (SDLThread), pid 17618 (SDLActivity)
2026-02-15 10:57:56.291 17618-17618 InsetsController org.libsdl.app D show(ime(), fromIme=false)
2026-02-15 10:57:56.292 17618-17618 InsetsController org.libsdl.app D Setting requestedVisibleTypes to -1 (was -9)
2026-02-15 10:57:56.298 17618-27138 qdgralloc org.libsdl.app W getInterlacedFlag: getMetaData returned -22, defaulting to interlaced_flag = 0
2026-02-15 10:57:56.302 17618-17618 InsetsController org.libsdl.app D hide(ime(), fromIme=false)
2026-02-15 10:57:56.302 17618-17618 InsetsController org.libsdl.app D Setting requestedVisibleTypes to -9 (was -1)
2026-02-15 10:57:56.401 17618-17618 WindowOnBackDispatcher org.libsdl.app W sendCancelIfRunning: isInProgress=false callback=android.view.ImeBackAnimationController@bb279c7
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A Cmdline: org.libsdl.app
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A pid: 17618, tid: 27195, name: SDLThread >>> org.libsdl.app <<<
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #00 pc 00000000009bfffc /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #01 pc 0000000000a74e1c /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #02 pc 0000000000eec264 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #03 pc 0000000000a79390 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #04 pc 0000000000bed5c0 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #05 pc 000000000073d96c /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.530 27393-27393 DEBUG crash_dump64 A #06 pc 000000000073c4bc /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.531 27393-27393 DEBUG crash_dump64 A #07 pc 00000000007f3a28 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.531 27393-27393 DEBUG crash_dump64 A #08 pc 0000000000839a30 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so
2026-02-15 10:57:56.531 27393-27393 DEBUG crash_dump64 A #09 pc 00000000008396d4 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libmain.so (SDL_main+236)
2026-02-15 10:57:56.531 27393-27393 DEBUG crash_dump64 A #10 pc 00000000000ae664 /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/lib/arm64/libSDL3.so (BuildId: ccb7d6c8b1b5059dd6305df4e1edd5a62df073a3)
2026-02-15 10:57:56.531 27393-27393 DEBUG crash_dump64 A #16 pc 0000000000009c3c [anon:dalvik-classes2.dex extracted in memory from /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk] (org.libsdl.app.SDLActivity.main+0)
2026-02-15 10:57:56.531 27393-27393 DEBUG crash_dump64 A #21 pc 000000000000c938 [anon:dalvik-classes2.dex extracted in memory from /data/app/~~kLEaz9sRiM5YIEkT78SLuQ==/org.libsdl.app-RLT9vYB86FsfADqJPga6qA==/base.apk] (org.libsdl.app.SDLMain.run+0)
---------------------------- PROCESS ENDED (17618) for package org.libsdl.app ----------------------------
2026-02-15 10:57:56.569 2460-2807 InputDispatcher system_server E channel 'aea738e org.libsdl.app/org.libsdl.app.SDLActivity' ~ Channel is unrecoverably broken and will be disposed!
Here "Shader module created SUCCESS" is my attempt to create a Ash shader module, which turned out to be successful, then the application crashes the moment I try to wrap it in vulkano shader module. It all comes down to the SPIRV vulkano parser.
### Minimal reproducible example
pub fn create_shader_module_from_data(
device: Device,
data: &[u8],
) -> VulkanLogicResult<Arc<shader::ShaderModule>> {
let error_object = String::from("CreateShaderModuleFromData");
let words = shader::spirv::bytes_to_words(data)
.map_err(|_| format!("{}: Failed to parse SPIR-V bytecode", error_object))?;
let shader_module = unsafe {
shader::ShaderModule::new(
device.device.clone(),
shader::ShaderModuleCreateInfo::new(&words),
)
}
.map_err(|err| {
format!(
"{}: Failed to create shader module: {:?}",
error_object, err
)
})?;
Ok(shader_module)
} Here "Device" is my custom wrapper over vulkano
0 条评论