Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on Vulkan Wayland with v1.10.2 #13781

Closed
ReillyBrogan opened this issue Mar 22, 2022 · 2 comments
Closed

Crash on Vulkan Wayland with v1.10.2 #13781

ReillyBrogan opened this issue Mar 22, 2022 · 2 comments

Comments

@ReillyBrogan
Copy link

Description

I'm in the process of updating the Solus Linux package for Retroarch to 1.10.2 and during testing I've noticed that Retroarch crashes upon startup when ran with the Vulkan video driver on Wayland session (specifically Plasma 5.24.3 with a 6900xt GPU).

Expected behavior

Not to crash

Actual behavior

Crash!

Bisect Results

After bisecting I determined that the commit that breaks is 3b08d63 (Wayland) Initial drag and drop (wl_data_offer) support (#13515). Reverting this commit fixes the crash.

Version/Commit

  • RetroArch: v1.10.2

Environment information

  • OS: Solus Linux
  • Compiler: Clang
  • DE: Plasma 5.24.3 Wayland session
  • Kernel: 5.15.30
  • Mesa: 21.3.7
  • Vulkan: 1.3.204.1

Stacktrace:

#0  wl_proxy_get_version (proxy=proxy@entry=0x0) at ../src/wayland-client.c:2200
#1  0x0000000000745063 in wl_data_device_manager_get_data_device (seat=0x2b0ab00, wl_data_device_manager=0x0) at /usr/include/wayland-client-protocol.h:2959
#2  registry_handle_global (data=0x2b07b10, reg=<optimized out>, id=10, interface=<optimized out>, version=<optimized out>) at input/common/wayland_common.c:594
#3  0x00007f3d6d19ac2d in ffi_call_unix64 () at ../src/x86/unix64.S:101
#4  0x00007f3d6d19a176 in ffi_call_int (cif=0x7ffc7e9e18a0, fn=0x744dd0 <registry_handle_global>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>)
    at ../src/x86/ffi64.c:669
#5  0x00007f3d71f8e531 in wl_closure_invoke (closure=0x2b07240, flags=<optimized out>, target=<optimized out>, opcode=0, data=<optimized out>) at ../src/connection.c:1025
#6  0x00007f3d71f8a88a in dispatch_event (display=display@entry=0x2b05900, queue=<optimized out>, queue=<optimized out>) at ../src/wayland-client.c:1583
#7  0x00007f3d71f8c1ec in dispatch_queue (queue=0x2b059d0, display=0x2b05900) at ../src/wayland-client.c:1729
#8  wl_display_dispatch_queue_pending (display=0x2b05900, queue=0x2b059d0) at ../src/wayland-client.c:1971
#9  0x00007f3d71f8c70f in wl_display_roundtrip_queue (display=0x2b05900, queue=0x2b059d0) at ../src/wayland-client.c:1358
#10 0x00007f3d71f8c75c in wl_display_roundtrip (display=<optimized out>) at ../src/wayland-client.c:1387
#11 0x00000000007475d6 in gfx_ctx_wl_init_common (video_driver=<optimized out>, toplevel_listener=toplevel_listener@entry=0xfba080 <toplevel_listener>, wwl=wwl@entry=0x7ffc7e9e1b90)
    at gfx/common/wayland_common.c:328
#12 0x0000000000747f8c in gfx_ctx_wl_init (video_driver=<optimized out>) at gfx/drivers_context/wayland_vk_ctx.c:159
#13 0x00000000004df4de in video_context_driver_init (core_set_shared_context=<optimized out>, settings=settings@entry=0x7f3d5b410010, data=data@entry=0x2b14c60, 
    ctx=0xfb9f80 <gfx_ctx_vk_wayland>, ident=ident@entry=0x7f3d5b411e65 "", api=api@entry=GFX_CTX_VULKAN_API, major=1, minor=0, hw_render_ctx=false, ctx_data=0x7ffc7e9e1d60)
    at gfx/video_driver.c:776
#14 0x00000000004e26ed in vk_context_driver_init_first (api=GFX_CTX_VULKAN_API, ctx_data=0x7ffc7e9e1d60, hw_render_ctx=false, minor=0, major=1, ident=0x7f3d5b411e65 "", data=0x2b14c60, 
    settings=<optimized out>, runloop_st=0xff5820 <runloop_state>) at gfx/video_driver.c:2859
#15 video_context_driver_init_first (data=data@entry=0x2b14c60, ident=0x7f3d5b411e65 "", api=api@entry=GFX_CTX_VULKAN_API, major=major@entry=1, minor=minor@entry=0, 
    hw_render_ctx=hw_render_ctx@entry=false, ctx_data=0x7ffc7e9e1d60) at gfx/video_driver.c:2959
#16 0x000000000077345e in vulkan_get_context (vk=0x2b14c60) at gfx/drivers/vulkan.c:77
#17 vulkan_init (video=video@entry=0x7ffc7e9e1e40, input=0x104a6e8 <input_driver_st+680>, input_data=input_data@entry=0x104a6f0 <input_driver_st+688>) at gfx/drivers/vulkan.c:1358
#18 0x00000000004e33ce in video_driver_init_internal (video_is_threaded=video_is_threaded@entry=0x7ffc7e9e1f0e, verbosity_enabled=verbosity_enabled@entry=false) at gfx/video_driver.c:3483
#19 0x00000000004a62ac in drivers_init (settings=settings@entry=0x7f3d5b410010, flags=flags@entry=2047, verbosity_enabled=verbosity_enabled@entry=false) at driver.c:479
#20 0x0000000000497799 in retroarch_main_init (argc=1, argv=argv@entry=0x7ffc7e9e45f8) at retroarch.c:5464
#21 0x00000000004ba41c in content_load (info=info@entry=0x7ffc7e9e44b0, p_content=p_content@entry=0xff5f98 <runloop_state+1912>) at tasks/task_content.c:1482
#22 0x00000000004bb8d9 in task_load_content_internal (content_info=content_info@entry=0x7ffc7e9e44b0, loading_from_cli=loading_from_cli@entry=true, 
    loading_from_companion_ui=loading_from_companion_ui@entry=false, loading_from_menu=true) at tasks/task_content.c:2471
#23 0x00000000004bbb1f in task_push_load_content_from_cli (core_path=core_path@entry=0x0, fullpath=fullpath@entry=0x0, content_info=content_info@entry=0x7ffc7e9e44b0, 
    type=type@entry=CORE_TYPE_PLAIN, cb=cb@entry=0x0, user_data=user_data@entry=0x0) at tasks/task_content.c:2563
#24 0x0000000000496dd9 in rarch_main (argc=1, argv=<optimized out>, data=0x0) at retroarch.c:3853
#25 0x00007f3d6fb17f25 in __libc_start_main (main=0x48bb50 <main(int, char**)>, argc=1, argv=0x7ffc7e9e45f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffc7e9e45e8) at ../csu/libc-start.c:332
#26 0x000000000048bfce in _start () at ../sysdeps/x86_64/start.S:120
@ReillyBrogan
Copy link
Author

CC @ColinKinloch as author of bisected commit.

@ColinKinloch
Copy link
Contributor

Thanks for the detailed report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants