Skip to content

Crashes when trying to switch video chat across displays #8588

@xuhdev

Description

@xuhdev

Please fill out the following:

  • Sway Version: 1.10.1

  • Stack Trace:

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fc118fb7183 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2  0x00007fc118f5df9e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fc118f45942 in __GI_abort () at abort.c:79
#4  0x00007fc118f4585e in __assert_fail_base
    (fmt=0x7fc1190facb0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7fc11928bb58 "box->x >= 0 && box->y >= 0 && box->x + box->width <= options->texture->width && box->y + box->height <= options->texture->height", file=file@entry=0x7fc119282ac6 "render/pass.c", line=line@entry=23, function=function@entry=0x7fc1192affb0 <__PRETTY_FUNCTION__.1.lto_priv.1> "wlr_render_pass_add_texture") at assert.c:96
#5  0x00007fc118f560c7 in __assert_fail
    (assertion=assertion@entry=0x7fc11928bb58 "box->x >= 0 && box->y >= 0 && box->x + box->width <= options->texture->width && box->y + box->height <= options->texture->height", file=file@entry=0x7fc119282ac6 "render/pass.c", line=line@entry=23, function=function@entry=0x7fc1192affb0 <__PRETTY_FUNCTION__.1.lto_priv.1> "wlr_render_pass_add_texture") at assert.c:105
#6  0x00007fc1191dcc5c in wlr_render_pass_add_texture (render_pass=0x564321161270, options=0x7fff8719ccf0) at ../render/pass.c:23
#7  0x00007fc11921d2ad in scene_entry_render (entry=0x564321154930, data=0x7fff8719cca0) at ../types/scene/wlr_scene.c:1270
#8  wlr_scene_output_build_state (scene_output=0x5643208eb8b0, state=state@entry=0x7fff8719cde0, options=<optimized out>, options@entry=0x7fff8719cdc0)
    at ../types/scene/wlr_scene.c:1959
#9  0x00005642f9f592be in output_repaint_timer_handler (data=data@entry=0x5643208c8db0) at ../sway/desktop/output.c:285
#10 0x00005642f9f5952e in output_repaint_timer_handler (data=0x5643208c8db0) at ../sway/desktop/output.c:265
#11 handle_frame (listener=0x5643208c8f00, user_data=<optimized out>) at ../sway/desktop/output.c:373
#12 0x00007fc1192eb06c in wl_signal_emit_mutable (signal=<optimized out>, data=0x5643208dac00) at ../src/wayland-server.c:2314
#13 0x00007fc1192eca7c in wl_event_loop_dispatch_idle (loop=loop@entry=0x56431f7fe840) at ../src/event-loop.c:970
#14 0x00007fc1192eccf4 in wl_event_loop_dispatch (loop=0x56431f7fe840, timeout=<optimized out>, timeout@entry=-1) at ../src/event-loop.c:1110
#15 0x00007fc1192eecf5 in wl_display_run (display=0x56431f7fe750) at ../src/wayland-server.c:1530
#16 0x00005642f9f4a446 in server_run (server=<optimized out>) at ../sway/server.c:501
#17 main (argc=<optimized out>, argv=<optimized out>) at ../sway/main.c:374
  • Description:

The crash happens when I open a video chat in brave browser and move it across displays. Reproduction is not reliable.

  1. Configure the Brave browser to use wayland. This can be done by visiting chrome:://flags, search for ozone, and change the setting to wayland.
  2. Restart Brave.
  3. Visit zoom in browser, and start a video chat. Don't need to ask anybody to join, just make sure the video and audio are on in the browser window.
  4. Switch the workspace from one to another. I use $mod+x, with
bindsym $mod+x move workspace to output down

(I haven't figured out how to generate a sway debug log yet since this bug requires multiple displays. Please let me know if you think you need more information, I can dig further.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugNot working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions