wgpu icon indicating copy to clipboard operation
wgpu copied to clipboard

lavapipe on asahi segfaults on all ray tracing examples

Open cwfitzgerald opened this issue 3 weeks ago • 3 comments

This feels like a driver bug. Maybe something about aarch64?

Discovered in https://github.com/gfx-rs/wgpu/issues/8610#issuecomment-3604206493.

     SIGSEGV [   1.198s] ( 986/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::build_with_transform
     SIGSEGV [   1.254s] ( 987/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::blas_compaction_without_flags
     SIGSEGV [   1.315s] ( 990/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::blas_compaction
     SIGSEGV [   1.285s] ( 991/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::only_blas_vertex_return
     SIGSEGV [   1.295s] ( 992/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::extra_format_build
     SIGSEGV [   1.264s] ( 993/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::out_of_order_as_build
     SIGSEGV [   1.225s] ( 995/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::out_of_order_as_build_use
     SIGSEGV [   1.035s] (1014/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::shader::prevent_invalid_ray_query_calls
     SIGSEGV [   1.077s] (1016/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::scene::acceleration_structure_build_with_index
     SIGSEGV [   1.170s] (1020/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_use_after_free::acceleration_structure_use_after_free
     SIGSEGV [   1.158s] (1021/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::shader::access_all_struct_members
     SIGSEGV [   1.839s] (1025/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::as_build::unprepared_blas_compaction
     SIGSEGV [   1.283s] (1030/1314) wgpu-test::wgpu-gpu [Executed] [Vulkan/llvmpipe (LLVM 21.1.5, 128 bits)/1] wgpu_gpu::ray_tracing::scene::acceleration_structure_build_no_index

@Friz64 Would you be able to pull a stack trace from one of these? The examples might be easiest.

cwfitzgerald avatar Dec 03 '25 18:12 cwfitzgerald

Could it be one of the old segfaults from llvmpipe?

Vecvec avatar Dec 03 '25 18:12 Vecvec

@Vecvec it's 25.2.7, same as CI, so probably not.

cwfitzgerald avatar Dec 03 '25 18:12 cwfitzgerald

I used gdb run + bt and got this:

Thread 20 "wgpu-examples" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xffffd878f000 (LWP 4873)]
0x0000fffff79a9d48 in ?? ()
(gdb) bt
#0  0x0000fffff79a9d48 in ?? ()
#1  0x0000000000000001 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Which is not very helpful I think? I previously took upon gdb's offer to download a ton of debug info from the fedora repos, but apparently that's not of much use here. I don't know what I am doing though tbh.

gdb.txt

Friz64 avatar Dec 04 '25 18:12 Friz64