Package: libwlroots-0.19
Version: 0.19.0-2
Severity: important
Control: affects -1 sway

I'm using sway 1.11-2, which links to libwlroots-0.19 0.19.0-2.  in the
last several days, i've had a series of crashes of sway.  They tend to
happen when using chromium while scrolling some fancy website, but i
can't be sure that's the cause.

when the crash happens, sway emits this line on stdout/stderr:

```
sway: render/pass.c:23: wlr_render_pass_add_texture: Assertion `box->x >= 0 && 
box->y >= 0 && box->x + box->width <= options->texture->width && box->y + 
box->height <= options->texture->height' failed.
```

Immediately following (i'm not sure whether it's sway or a separate
process that is launched by sway) i also see these lines:

```
 err: wayland.c:1659: failed to read events from the Wayland socket: Broken pipe
 err:  err: wayland.c:1659: wayland.c:1659: failed to read events from the 
Wayland socketfailed to read events from the Wayland socket: Broken pipe: 
Broken pipe
```

I think these lines are follow-on consequences of the assertion.

The code in question is in wlroots:

```
void wlr_render_pass_add_texture(struct wlr_render_pass *render_pass,
                const struct wlr_render_texture_options *options) {
        // make sure the texture source box does not try and sample outside of 
the
        // texture
        if (!wlr_fbox_empty(&options->src_box)) {
                const struct wlr_fbox *box = &options->src_box;
                assert(box->x >= 0 && box->y >= 0 &&
                        box->x + box->width <= options->texture->width &&
                        box->y + box->height <= options->texture->height);
        }

        render_pass->impl->add_texture(render_pass, options);
}
```

I've tried to attach gdb to the sway process to be able to gather a
backtrace during such a crash, but i haven't been able to get one yet.
What i find is that when the crash happens, sway freezes completely, and
i can't even use ctrl-alt-f2 to switch to a different VT, so i can't get
into the gdb session to extract a more full backtrace.

If anyone has suggestions on how i can get a more complete backtrace
(the machine in question doesn't run ssh or offer any other external
connectivity) i'm willing to experiment.

At any rate, these crashes make sway fundamentally unreliable for me.
It makes wlroots seem very fragile.  Can this assertion be safely
replaced with just returning from the function (without calling the
final add_texture)?  or is there some other workaround that i should
consider?

Regards,

        --dkg


-- System Information:
Debian Release: forky/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 
'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.16.3+deb14-amd64 (SMP w/20 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libwlroots-0.19 depends on:
ii  libc6                2.41-12
ii  libdisplay-info2     0.2.0-2
ii  libdrm2              2.4.125-2
ii  libegl1              1.7.0-1+b2
ii  libgbm1              25.2.2-1
ii  libgles2             1.7.0-1+b2
ii  libinput10           1.28.1-1
ii  liblcms2-2           2.16-2
ii  libliftoff0          0.5.0-1.1
ii  libpixman-1-0        0.44.0-3
ii  libseat1             0.9.1-1
ii  libudev1             258~rc4-1
ii  libvulkan1           1.4.321.0-1
ii  libwayland-client0   1.24.0-2+b1
ii  libwayland-server0   1.24.0-2+b1
ii  libxcb-composite0    1.17.0-2+b1
ii  libxcb-dri3-0        1.17.0-2+b1
ii  libxcb-errors0       1.0.1-4
ii  libxcb-ewmh2         0.4.2-1
ii  libxcb-icccm4        0.4.2-1
ii  libxcb-present0      1.17.0-2+b1
ii  libxcb-render-util0  0.3.10-1
ii  libxcb-render0       1.17.0-2+b1
ii  libxcb-res0          1.17.0-2+b1
ii  libxcb-shm0          1.17.0-2+b1
ii  libxcb-xfixes0       1.17.0-2+b1
ii  libxcb-xinput0       1.17.0-2+b1
ii  libxcb1              1.17.0-2+b1
ii  libxkbcommon0        1.7.0-2.1

libwlroots-0.19 recommends no packages.

libwlroots-0.19 suggests no packages.

-- no debconf information

Attachment: signature.asc
Description: PGP signature

Reply via email to