ITADN

parser calls Segfault while creating shader module on android

#2771OpenSergeyCPP14634 创建于 2026-02-15
S
SergeyCPP14634commented
### 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 条评论