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

Box assertation in wlroots render pass fails #8386

Open
tobiolo opened this issue Oct 15, 2024 · 0 comments
Open

Box assertation in wlroots render pass fails #8386

tobiolo opened this issue Oct 15, 2024 · 0 comments
Labels
bug Not working as intended

Comments

@tobiolo
Copy link
Contributor

tobiolo commented Oct 15, 2024

Please read the following before submitting:

  • Please do NOT submit bug reports for questions. Ask questions on IRC at #sway on Libera Chat.
  • Proprietary graphics drivers, including nvidia, are not supported. Please use the open source equivalents, such as nouveau, if you would like to use Sway.
  • Please do NOT submit issues for information from the github wiki. The github wiki is community maintained and therefore may contain outdated information, scripts that don't work or obsolete workarounds.
    If you fix a script or find outdated information, don't hesitate to adjust the wiki page.

Please fill out the following:

  • Sway Version:

    • sway version 1.10-rc3-dc8f5338 (Oct 15 2024, branch 'HEAD')
  • Debug Log:

    • Run sway -d 2> ~/sway.log from a TTY and upload it to a pastebin, such as gist.github.com.
    • This will record information about sway's activity. Please try to keep the reproduction as brief as possible and exit sway.
    • Attach the full file, do not truncate it.
  • Configuration File:

    • Please try to produce with the default configuration.
    • If you cannot reproduce with the default configuration, please try to find the minimal configuration to reproduce.
    • Upload the config to a pastebin such as gist.github.com.
  • Stack Trace:

    • This is only needed if sway crashes.
    • If you use systemd, you should be able to open the coredump of the most recent crash with gdb with
      coredumpctl gdb sway and then bt full to obtain the stack trace.
    • If the lines mentioning sway or wlroots have ?? for the location, your binaries were built without debug symbols. Please compile both sway and wlroots from source and try to reproduce.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {140727944407696}}
        ret = <optimized out>
#1  0x00007a561c2c7463 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
No locals.
#2  0x00007a561c26e120 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007a561c2554c3 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {103087486246656, 23, 134510268498728, 140727944407856, 134510258502906, 0, 4, 51211555424, 0, 11, 
              18446744073709551064, 11, 103087486246656, 140727944407920, 134510258513358, 134510259836128}}, sa_flags = -791082496, sa_restorer = 0x7ffdc722eb70}
#4  0x00007a561c2553df in __assert_fail_base (fmt=0x7a561c3e5c20 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7a561cc5c328 "box->x >= 0 && box->y >= 0 && box->x + box->width <= options->texture->width && box->y + box->height <= options->texture->height", 
    file=file@entry=0x7a561cc5c2e0 "render/pass.c", line=line@entry=23, function=function@entry=0x7a561cc5c410 <__PRETTY_FUNCTION__.1> "wlr_render_pass_add_texture") at assert.c:94
        str = 0x5dc1ecff9f10 "p\300L\355\301]"
        total = 4096
#5  0x00007a561c266177 in __assert_fail (assertion=0x7a561cc5c328 "box->x >= 0 && box->y >= 0 && box->x + box->width <= options->texture->width && box->y + box->height <= options->texture->height", 
    file=0x7a561cc5c2e0 "render/pass.c", line=23, function=0x7a561cc5c410 <__PRETTY_FUNCTION__.1> "wlr_render_pass_add_texture") at assert.c:103
No locals.
#6  0x00007a561cb8ae78 in wlr_render_pass_add_texture (render_pass=0x5dc1ed1fd920, options=0x7ffdc722ed10) at ../subprojects/wlroots/render/pass.c:23
        box = 0x7ffdc722ed18
        __PRETTY_FUNCTION__ = "wlr_render_pass_add_texture"
#7  0x00007a561cbdc591 in scene_entry_render (entry=0x5dc1ed519470, data=0x7ffdc722ef60) at ../subprojects/wlroots/types/scene/wlr_scene.c:1270
        texture = 0x5dc1ed4e09f0
        scene_rect = 0x5dc1ed4ec8a0
        scene_buffer = 0x5dc1ed4cbea0
        transform = WL_OUTPUT_TRANSFORM_NORMAL
        sample_event = {output = 0x5dc1ecd060e0, direct_scanout = false}
        node = 0x5dc1ed4cbea0
        render_region = {extents = {x1 = 2170, y1 = 48, x2 = 2870, y2 = 76}, data = 0x0}
        x = 1085
        y = 24
        dst_box = {x = 2170, y = 48, width = 700, height = 28}
        opaque = {extents = {x1 = 2170, y1 = 48, x2 = 2870, y2 = 76}, data = 0x0}
        __PRETTY_FUNCTION__ = "scene_entry_render"
#8  0x00007a561cbde3a8 in wlr_scene_output_build_state (scene_output=0x5dc1ecd060e0, state=0x7ffdc722f010, options=0x7ffdc722eff0) at ../subprojects/wlroots/types/scene/wlr_scene.c:1959
        entry = 0x5dc1ed519470
        i = 4
        default_options = {timer = 0x0, color_transform = 0x0, swapchain = 0x0}
        timer = 0x0
        start_time = {tv_sec = 11930890208, tv_nsec = 4575657225364238288}
        output = 0x5dc1eccfbd10
        debug_damage = WLR_SCENE_DEBUG_DAMAGE_NONE
        render_data = {transform = WL_OUTPUT_TRANSFORM_NORMAL, scale = 2, logical = {x = 0, y = 0, width = 1440, height = 900}, trans_width = 2880, trans_height = 1800, output = 0x5dc1ecd060e0, 
          render_pass = 0x5dc1ed1fd920, damage = {extents = {x1 = 4, y1 = 48, x2 = 2880, y2 = 1796}, data = 0x5dc1ed4d9470}}
        resolution_width = 2880
        resolution_height = 1800
        list_con = {box = {x = 0, y = 0, width = 1440, height = 900}, render_list = 0x5dc1ecd06218, calculate_visibility = true, highlight_transparent_region = false, fractional_scale = false}
        list_data = 0x5dc1ed519410
        list_len = 42
        now = {tv_sec = 103087483213792, tv_nsec = 103087483254960}
        scanout = false
        swapchain = 0x5dc1ec9eb1a0
        buffer = 0x5dc1eccd5320
        __PRETTY_FUNCTION__ = "wlr_scene_output_build_state"
        render_pass = 0x5dc1ed1fd920
        background = {extents = {x1 = 4, y1 = 84, x2 = 4, y2 = 84}, data = 0x7a561c554a20 <pixman_region32_empty_data_.lto_priv>}
--Type <RET> for more, q to quit, c to continue without paging--
#9  0x00005dc1e878f935 in output_repaint_timer_handler (data=0x5dc1ecd1f8b0) at ../sway/desktop/output.c:286
        output = 0x5dc1ecd1f8b0
        opts = {timer = 0x0, color_transform = 0x0, swapchain = 0x0}
        wlr_output = 0x5dc1eccfbd10
        scene_output = 0x5dc1ecd060e0
        pending = {committed = 2, allow_reconfiguration = false, damage = {extents = {x1 = 2170, y1 = 48, x2 = 2880, y2 = 76}, data = 0x0}, enabled = false, scale = 0, 
          transform = WL_OUTPUT_TRANSFORM_NORMAL, adaptive_sync_enabled = false, render_format = 0, subpixel = WL_OUTPUT_SUBPIXEL_UNKNOWN, buffer = 0x0, tearing_page_flip = false, 
          mode_type = WLR_OUTPUT_STATE_MODE_FIXED, mode = 0x0, custom_mode = {width = 0, height = 0, refresh = 0}, gamma_lut = 0x0, gamma_lut_size = 0, layers = 0x0, layers_len = 0}
#10 0x00005dc1e878fcb8 in handle_frame (listener=0x5dc1ecd1fa00, user_data=0x5dc1eccfbd10) at ../sway/desktop/output.c:373
        output = 0x5dc1ecd1f8b0
        msec_until_refresh = 0
        delay = 0
        data = {when = {tv_sec = 7, tv_nsec = -4382722940461315584}, msec_until_refresh = -954011264, output = 0x7a561c4b6499 <wl_signal_emit_mutable+153>}
#11 0x00007a561c4b647e in wl_signal_emit_mutable (signal=<optimized out>, data=0x5dc1eccfbd10) at ../wayland-1.23.1/src/wayland-server.c:2314
        pos = 0x5dc1ecd1fa00
        l = 0x5dc1ecd1fa00
        cursor = {link = {prev = 0x5dc1ecd1fa00, next = 0x7ffdc722f130}, notify = 0x7a561c4b3190 <handle_noop>}
        end = {link = {prev = 0x7ffdc722f150, next = 0x5dc1eccfbdb8}, notify = 0x7a561c4b3190 <handle_noop>}
#12 0x00007a561cbd51ce in wlr_output_send_frame (output=0x5dc1eccfbd10) at ../subprojects/wlroots/types/output/output.c:753
No locals.
#13 0x00007a561cbb3de0 in handle_page_flip (fd=12, seq=445826, tv_sec=4961, tv_usec=663754, crtc_id=79, data=0x5dc1ed4593c0) at ../subprojects/wlroots/backend/drm/drm.c:2074
        page_flip = 0x5dc1ed4593c0
        conn = 0x5dc1eccfbd10
        present_flags = 15
        drm = 0x5dc1ebc94f90
        plane = 0x5dc1ebca69a8
        layer = 0x5dc1ebca7410
        present_time = {tv_sec = 4961, tv_nsec = 663754000}
        present_event = {output = 0x5dc1eccfbd10, commit_seq = 36747, presented = true, when = 0x7ffdc722f220, seq = 445826, refresh = 11110987, flags = 15}
#14 0x00007a561c9eaf30 in drmHandleEvent (fd=12, evctx=0x7ffdc722f6f0) at ../libdrm-2.4.123/xf86drmMode.c:1070
        buffer = "\002\000\000\000 \000\000\000\300\223E\355\301]\000\000a\023\000\000\312 \n\000\202\315\006\000O\000\000\000\001\000\000\000\375\177\000\000L\027\237\033Vz\000\000\240\022\225\354\301]\000\000\000\n\331дp-\303\b\363\"\307\375\177\000\000\003\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\300\363\"\307\375\177\000\000\240\363\"\307\375\177\000\000\020\000\000\000\000\000\000\000`\363\"\307\375\177\000\000\323[\237\033Vz\000\000\300\363\"\307\375\177\000\000\001\000\000\000\000\000\000\000\001\000\000\000\375\177\000\0001\351\275\034Vz", '\000' <repeats 11 times>, "\n\331дp-\303\035\364x\350\301]\000\000\340\031S\355\301]\000\000\240\363\"\307\375\177\000\000\210\364"...
        len = 32
        i = 0
        e = 0x7ffdc722f280
        vblank = 0x7ffdc722f280
        seq = <optimized out>
        user_data = <optimized out>
#15 0x00007a561cbb3e56 in handle_drm_event (fd=12, mask=1, data=0x5dc1ebc94f90) at ../subprojects/wlroots/backend/drm/drm.c:2086
        drm = 0x5dc1ebc94f90
        event = {version = 3, vblank_handler = 0x0, page_flip_handler = 0x0, page_flip_handler2 = 0x7a561cbb3b26 <handle_page_flip>, sequence_handler = 0x0}
#16 0x00007a561c4b8112 in wl_event_loop_dispatch (loop=0x5dc1ebc8e590, timeout=<optimized out>, timeout@entry=-1) at ../wayland-1.23.1/src/event-loop.c:1105
        ep = {{events = 1, data = {ptr = 0x5dc1ebc96830, fd = -339122128, u32 = 3955845168, u64 = 103087465916464}}, {events = 1, data = {ptr = 0x5dc1ecd10ca0, fd = -321844064, u32 = 3973123232, 
              u64 = 103087483194528}}, {events = 3981342496, data = {ptr = 0x2000005dc1, fd = 24001, u32 = 24001, u64 = 137438977473}}, {events = 0, data = {ptr = 0x7ffdc722f810, fd = -954009584, 
              u32 = 3340957712, u64 = 140727944411152}}, {events = 3981342592, data = {ptr = 0xffffffff00005dc1, fd = 24001, u32 = 24001, u64 = 18446744069414608321}}, {events = 4294967295, data = {
              ptr = 0x7ffdc722f930, fd = -954009296, u32 = 3340958000, u64 = 140727944411440}}, {events = 474695387, data = {ptr = 0x7a56, fd = 31318, u32 = 31318, u64 = 31318}}, {events = 0, data = {
              ptr = 0x3afe0, fd = 241632, u32 = 241632, u64 = 241632}}, {events = 3340957808, data = {ptr = 0x2000007ffd, fd = 32765, u32 = 32765, u64 = 137438986237}}, {events = 0, data = {ptr = 0x0, 
              fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, 
              u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 3340957872, data = {ptr = 0xed50da0000007ffd, fd = 32765, u32 = 32765, 
              u64 = 17100407478660661245}}, {events = 24001, data = {ptr = 0x20, fd = 32, u32 = 32, u64 = 32}}, {events = 3981494816, data = {ptr = 0x400005dc1, fd = 24001, u32 = 24001, 
              u64 = 17179893185}}, {events = 0, data = {ptr = 0x14, fd = 20, u32 = 20, u64 = 20}}, {events = 1, data = {ptr = 0x12800000001, fd = 1, u32 = 1, u64 = 1271310319617}}, {events = 0, data = {
              ptr = 0xc32d70b4d0d90a00, fd = -791082496, u32 = 3503884800, u64 = 14064021133248236032}}, {events = 3340958080, data = {ptr = 0xe87e4a9800007ffd, fd = 32765, u32 = 32765, 
              u64 = 16752909680560340989}}, {events = 24001, data = {ptr = 0x5dc1e87ec550, fd = -394345136, u32 = 3900622160, u64 = 103087410693456}}, {events = 0, data = {ptr = 0x1000000002, fd = 2, 
              u32 = 2, u64 = 68719476738}}, {events = 48, data = {ptr = 0x7ffdc722f990, fd = -954009200, u32 = 3340958096, u64 = 140727944411536}}, {events = 3340957904, data = {ptr = 0xd0d90a0000007ffd, 
              fd = 32765, u32 = 32765, u64 = 15049070624951533565}}, {events = 3274535092, data = {ptr = 0x5dc1ec950fb0, fd = -325775440, u32 = 3969191856, u64 = 103087479263152}}, {events = 3969214576, 
            data = {ptr = 0xe87ec13000005dc1, fd = 24001, u32 = 24001, u64 = 16753040075767438785}}, {events = 24001, data = {ptr = 0x1f3, fd = 499, u32 = 499, u64 = 499}}, {events = 3967043328, data = {
              ptr = 0xd0d90a0000005dc1, fd = 24001, u32 = 24001, u64 = 15049070624951524801}}, {events = 3274535092, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 3981498928, data = {
              ptr = 0xebc8e4c800005dc1, fd = 24001, u32 = 24001, u64 = 16990081141899812289}}, {events = 24001, data = {ptr = 0x5dc1ebc8e4e8, fd = -339155736, u32 = 3955811560, u64 = 103087465882856}}}
--Type <RET> for more, q to quit, c to continue without paging--
        source = <optimized out>
        i = 0
        count = <optimized out>
        has_timers = <optimized out>
        use_timeout = false
        now = {tv_sec = 140727944411024, tv_nsec = 134510258891478}
        end = <optimized out>
#17 0x00007a561c4ba1f7 in wl_display_run (display=0x5dc1ebc8e4a0) at ../wayland-1.23.1/src/wayland-server.c:1530
No locals.
#18 0x00005dc1e878bc53 in server_run (server=0x5dc1e880ece0 <server>) at ../sway/server.c:501
No locals.
#19 0x00005dc1e878a342 in main (argc=1, argv=0x7ffdc722fb18) at ../sway/main.c:373
        verbose = false
        debug = false
        validate = false
        config_path = 0x0
        c = -1
  • Description:
  • Compile sway with wlroots 0.18.1
  • Start sway on a multi-head setup
  • Disable external displays
  • Use Outlook for Web on Google Chrome.
  • Click on a link so a new window is opened
  • Sway crashes
@tobiolo tobiolo added the bug Not working as intended label Oct 15, 2024
@tobiolo tobiolo changed the title Box assertation fails Box assertation in wlroots render pass fails Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Not working as intended
Development

No branches or pull requests

1 participant