Closed motorto closed 1 year ago
Is this a new failure? Did it used to work?
Assuming it did, do you know if the failure was triggered by an update to gtk-layer-shell, gtk or something else?
Yes it used to work, I have tried compiling 0.6 with the current version of the dependencies and the same tests fail 16/28 so it might the update of a dependency that introduce this failure.
So the current package versions of void are:
It does appear to be an issue with how we access private GTK data structures, this causing trouble is not surprising, though it's worked unexpectedly smoothly for the lifespan of the project.
Can you try with the new gtk-3-24-34 branch? The changes in GTK 3.24.34 shouldn't effect anything so I haven't rushed a release, but it's worth a shot.
I tried on Arch (also has GTK 3.24.34), and the tests pass on 0.7.0, master and also with that branch.
If Maybe there's some Alpine-specific GTK patches that effect one of the structs we access? I did look in Alpine's GTK packaging and didn't see anything though. Maybe different compiler flags than GTK are leading to different packing of the structs? Maybe it has something to do with musl? Somehow?
After testing that branch, the next thing to do is probably to build various versions of GTK from source and run gtk-layer-shell with them. If only old versions work, we can bisect in on what in GTK broke us. If they all work we can investigate how the GTK from the repository is different. If none of them work, we might be able to add checks to GTK to see what's going on.
Not saying you have to be the one to do it. I'll probably do it eventually, but I can't prioritize setting up an alpine VM right now.
If someone else does want to play with it, this script might be useful:
#!/bin/bash
# BASH safe mode
set -eo pipefail
# Set up needed environment variables
ROOT="$PWD"
TRIPLET=$(gcc -dumpmachine)
INSTALL="$ROOT/install"
export DESTDIR="$INSTALL"
export GTK_IM_MODULE_FILE="$INSTALL/immodules.cache"
export GTK_PATH="$INSTALL/usr/local/lib/$TRIPLET/gtk-3.0/"
BIN_PATH="$INSTALL/usr/local/bin/"
export PATH="$BIN_PATH:$PATH"
export LD_LIBRARY_PATH="$INSTALL/usr/local/lib/:$INSTALL/usr/local/lib/$TRIPLET/:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="$INSTALL/usr/local/lib/pkgconfig/:$INSTALL/usr/local/lib/$TRIPLET/pkgconfig:$PKG_CONFIG_PATH"
# Create "install" directory to install GTK into
mkdir -p "$INSTALL"
# Clone GTK if needed
if test ! -d "gtk"; then
git clone "https://gitlab.gnome.org/GNOME/gtk.git"
fi
cd gtk
# If a command line arg is given, treat it as a GTK branch or tag and check it out
if ! test -z "$1"; then
git checkout "$1"
fi
# Build and "install" GTK (to our local install directory)
if test ! -d "build"; then
meson "build" --prefix "$INSTALL/usr/local"
fi
ninja -C "build"
ninja -C "build" install
cd "$ROOT"
# Clone and build gtk-layer-shell if needed
if test ! -d "gtk-layer-shell"; then
git clone "https://github.com/wmww/gtk-layer-shell.git"
fi
cd gtk-layer-shell
if test ! -d "build"; then
meson "build" --prefix "$INSTALL/usr/local" -Dtests=true -Dexamples=true -Ddocs=true
fi
ninja -C "build"
cd "$ROOT"
# Run the gtk-layer-shell tests
ninja -C "gtk-layer-shell/build" test
It clones gtk and/or gtk-layer-shell into the current directory as needed, builds gtk, "installs" gtk into a install
directory in the current directory, build's gtk-layer-shell with the new gtk and runs the layer shell tests. It can be given a gtk branch or tag as a command line argument, so for examples:
./script.sh 3.24.32
runs the layer shell tests against GTK 3.24.32. It does not manage build dependencies.
3.24.34
(latest release) would be the first thing to test. If that works, then there's some difference between building from source and building the OS version, which needs to be investigated.3.24.34
fails in the same way as the OS GTK then try something older like 3.24.203.24.20
works then bisect in on exactly what GTK version (or even what GTK commit) breaks it3.24.20
also fails, the problem is something else, and I'll probably need to spin up an Alpine VM and start adding print statements to GTKAssuming that you script given works (missing a $
in line 28) it seems to compile fine with gtk 3.24.34. and it passes all the tests ! Which makes me think that there is a problem on the template that I need to figure it out. Thanks for help (fell free to close the issue)
called the script as ./script.sh 3.24.34
missing a $ in line 28
Of course the one line I edit after testing it is wrong, lol (fixed)
Compiling gtk-layer-shell and running tests manually seems to work fine, the issue is only happening in our build system - a chroot with a base void system and a only required dependencies installed.
If someone could get me a copy of GTK and gtk-layer-shell that don't work together and both have debug symbols, I might be able to gather some clues from GDB.
note to self (and others if interested): a good starting place is to diff the output of
gdb libgtk-layer-shell.so -ex 'set pagination off' -ex 'ptype /o struct _GdkWindowImplWayland_v3_24_25' -ex q
and
gdb libgdk-3.so -ex 'set pagination off' -ex 'ptype /o GdkWindowImplWayland' -ex q
This will dump the offsets of all the members of one of the main structs gtk-layer-shell digs into. On a working combination of libraries, they will be identical except for the very top and the offsets will all match. If they come up as identical on broken libraries, try that but with other structs.
If someone could get me a copy of GTK and gtk-layer-shell that don't work together and both have debug symbols, I might be able to gather some clues from GDB.
I am pretty sure it's not (only) because of the gtk version, but because of the environment. Both the host void system (where tests pass) and the chroot (where they don't pass) have the same versions of packages. The same gtk-layer-shell -> gtk version combination works in one environment, but doesn't in the other.
Tests in the build chroot used to work with 0.6 (but now even 0.6 fails with similar error messages), I will try to bisect which package update caused this.
Is it the environment where the tests are run or the environment where the libraries are built? My personal suspicion would be the latter. Same GTK and gtk-layer-shell source code might be getting built with a particular compiler, options, etc that's causing them to not work together. The effects of that might be detectable in GDB.
Specifically this is because gtk-layer-shell drills into private GTK structs that it has it's own copies of. If anything is slightly different between it and GTK it's copies might not compiled the same way as GTK's, and it will end up screwing up internal GTK state (this is I suspect what's going on).
Closing due to inactivity, feel free to re-open if still a problem
Tests 16 and 28 seem to fail when trying to build the 0.7 xbps for void-linux.
I think I have all the relevant logs down, if something is missing please tell me
Logs 0.7
```text Log of Meson test suite run on 2022-07-23T13:24:13.584116 16/33 test-menu-popup FAIL 0.14s exit status 1 13:24:17 MALLOC_PERTURB_=72 /usr/bin/python3 /builddir/gtk-layer-shell-0.7.0/test/run-integration-test.py /builddir/gtk-layer-shell-0.7.0/build/test/test-menu-popup ----------------------------------- output ----------------------------------- [90m╭─────────────────┤ [0mtest-menu-popup stderr[90m ├─────────────────┈[0m [90m│[0m [3726496.890] -> wl_display@1.get_registry(new id wl_registry@2) [90m│[0m [3726496.907] -> wl_display@1.sync(new id wl_callback@3) [90m│[0m [3726497.054] wl_display@1.delete_id(3) [90m│[0m [3726497.065] wl_registry@2.global(1, "wl_seat", 6) [90m│[0m [3726497.072] wl_registry@2.global(2, "wl_output", 2) [90m│[0m [3726497.079] -> wl_registry@2.bind(2, "wl_output", 2, new id [unknown]@4) [90m│[0m [3726497.123] -> wl_display@1.sync(new id wl_callback@5) [90m│[0m [3726497.129] wl_registry@2.global(3, "wl_shm", 1) [90m│[0m [3726497.135] -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@6) [90m│[0m [3726497.141] wl_registry@2.global(4, "wl_data_device_manager", 2) [90m│[0m [3726497.147] -> wl_registry@2.bind(4, "wl_data_device_manager", 2, new id [unknown]@7) [90m│[0m [3726497.153] wl_registry@2.global(5, "wl_compositor", 4) [90m│[0m [3726497.159] -> wl_registry@2.bind(5, "wl_compositor", 3, new id [unknown]@8) [90m│[0m [3726497.166] wl_registry@2.global(6, "wl_subcompositor", 1) [90m│[0m [3726497.171] -> wl_registry@2.bind(6, "wl_subcompositor", 1, new id [unknown]@9) [90m│[0m [3726497.177] wl_registry@2.global(7, "xdg_wm_base", 2) [90m│[0m [3726497.183] wl_registry@2.global(8, "zwlr_layer_shell_v1", 4) [90m│[0m [3726497.191] wl_callback@3.done(0) [90m│[0m [3726497.220] -> wl_shm@6.create_pool(new id wl_shm_pool@3, fd 7, 4096) [90m│[0m [3726497.299] -> wl_shm_pool@3.resize(8832) [90m│[0m [3726497.325] -> wl_shm_pool@3.resize(18624) [90m│[0m [3726497.343] -> wl_registry@2.bind(1, "wl_seat", 5, new id [unknown]@10) [90m│[0m [3726500.876] -> wl_compositor@8.create_surface(new id wl_surface@11) [90m│[0m [3726500.902] -> wl_data_device_manager@7.get_data_device(new id wl_data_device@12, wl_seat@10) [90m│[0m [3726501.006] -> wl_compositor@8.create_surface(new id wl_surface@13) [90m│[0m [3726501.016] -> wl_display@1.sync(new id wl_callback@14) [90m│[0m [3726501.190] wl_display@1.delete_id(5) [90m│[0m [3726501.199] wl_display@1.delete_id(14) [90m│[0m [3726501.203] wl_output@4.done() [90m│[0m [3726501.218] wl_callback@5.done(0) [90m│[0m [3726501.223] wl_seat@10.capabilities(3) [90m│[0m [3726501.229] -> wl_seat@10.get_pointer(new id wl_pointer@5) [90m│[0m [3726501.248] -> wl_seat@10.get_keyboard(new id wl_keyboard@15) [90m│[0m [3726501.264] wl_callback@14.done(0) [90m│[0m [3726501.270] -> wl_registry@2.bind(7, "xdg_wm_base", 1, new id [unknown]@14) [90m│[0m CHECK EXPECTATIONS COMPLETED [90m│[0m EXPECT: zwlr_layer_shell_v1 .get_layer_surface [90m│[0m EXPECT: xdg_wm_base .get_xdg_surface [90m│[0m EXPECT: xdg_surface .get_popup [90m│[0m EXPECT: xdg_popup .grab [90m│[0m [3726531.194] -> wl_display@1.get_registry(new id wl_registry@16) [90m│[0m [3726531.209] -> wl_display@1.sync(new id wl_callback@17) [90m│[0m [3726531.353] wl_display@1.delete_id(17) [90m│[0m [3726531.362] wl_registry@16.global(1, "wl_seat", 6) [90m│[0m [3726531.374] wl_registry@16.global(2, "wl_output", 2) [90m│[0m [3726531.379] wl_registry@16.global(3, "wl_shm", 1) [90m│[0m [3726531.384] wl_registry@16.global(4, "wl_data_device_manager", 2) [90m│[0m [3726531.389] wl_registry@16.global(5, "wl_compositor", 4) [90m│[0m [3726531.394] wl_registry@16.global(6, "wl_subcompositor", 1) [90m│[0m [3726531.399] wl_registry@16.global(7, "xdg_wm_base", 2) [90m│[0m [3726531.404] -> wl_registry@16.bind(7, "xdg_wm_base", 2, new id [unknown]@18) [90m│[0m [3726531.423] wl_registry@16.global(8, "zwlr_layer_shell_v1", 4) [90m│[0m [3726531.429] -> wl_registry@16.bind(8, "zwlr_layer_shell_v1", 4, new id [unknown]@19) [90m│[0m [3726531.434] wl_callback@17.done(0) [90m│[0m [90m│[0m (test-menu-popup:32288): Gdk-WARNING **: 13:24:17.298: Native Windows taller than 65535 pixels are not supported [90m│[0m [3726537.296] -> wl_compositor@8.create_surface(new id wl_surface@17) [90m│[0m [90m│[0m ** (test-menu-popup:32288): WARNING **: 13:24:17.299: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md [90m│[0m [3726537.372] -> wl_surface@17.set_buffer_scale(1) [90m│[0m [3726537.458] -> wl_surface@17.attach(nil, 0, 0) [90m│[0m [3726537.467] -> zwlr_layer_shell_v1@19.get_layer_surface(new id zwlr_layer_surface_v1@20, wl_surface@17, nil, 2, "gtk-layer-shell") [90m│[0m [3726537.474] -> zwlr_layer_surface_v1@20.set_keyboard_interactivity(0) [90m│[0m [3726537.479] -> zwlr_layer_surface_v1@20.set_exclusive_zone(0) [90m│[0m [3726537.483] -> zwlr_layer_surface_v1@20.set_anchor(0) [90m│[0m [3726537.487] -> zwlr_layer_surface_v1@20.set_margin(0, 0, 0, 0) [90m│[0m [3726537.492] -> zwlr_layer_surface_v1@20.set_size(116, 1807118) [90m│[0m [3726537.497] -> wl_surface@17.commit() [90m│[0m [3726537.504] -> wl_display@1.sync(new id wl_callback@21) [90m│[0m [3726537.692] wl_display@1.delete_id(21) [90m│[0m [3726537.701] zwlr_layer_surface_v1@20.configure(1, 116, 1807118) [90m│[0m [3726537.707] -> zwlr_layer_surface_v1@20.ack_configure(1) [90m│[0m [3726537.727] wl_pointer@5.enter(2, wl_surface@17, 5.00000000, 5.00000000) [90m│[0m [3726537.741] wl_pointer@5.frame() [90m│[0m [3726537.788] -> wl_shm_pool@3.create_buffer(new id wl_buffer@22, 4032, 10, 16, 40, 0) [90m│[0m [3726537.796] -> wl_pointer@5.set_cursor(2, wl_surface@13, 1, 1) [90m│[0m [3726537.802] -> wl_surface@13.attach(wl_buffer@22, 0, 0) [90m│[0m [3726537.807] -> wl_surface@13.set_buffer_scale(1) [90m│[0m [3726537.812] -> wl_surface@13.damage(0, 0, 10, 16) [90m│[0m [3726537.817] -> wl_surface@13.commit() [90m│[0m [3726537.824] wl_pointer@5.button(3, 0, 272, 1) [90m│[0m [3726537.832] wl_pointer@5.frame() [90m│[0m [3726537.846] wl_callback@21.done(3) [90m│[0m [3726538.384] -> wl_pointer@5.set_cursor(2, wl_surface@13, 1, 1) [90m│[0m [3726538.394] -> wl_surface@13.attach(wl_buffer@22, 0, 0) [90m│[0m [3726538.399] -> wl_surface@13.set_buffer_scale(1) [90m│[0m [3726538.403] -> wl_surface@13.damage(0, 0, 10, 16) [90m│[0m [3726538.413] -> wl_surface@13.commit() [90m│[0m [90m│[0m (test-menu-popup:32288): Gdk-WARNING **: 13:24:17.301: Native Windows taller than 65535 pixels are not supported [90m│[0m [3726539.378] -> wl_compositor@8.create_surface(new id wl_surface@21) [90m│[0m [3726539.405] -> wl_surface@21.set_buffer_scale(1) [90m│[0m [3726539.466] -> wl_surface@21.set_buffer_scale(1) [90m│[0m [3726539.779] -> wl_surface@21.set_buffer_scale(1) [90m│[0m [3726539.862] -> wl_surface@21.attach(nil, 0, 0) [90m│[0m [3726539.871] -> xdg_wm_base@18.create_positioner(new id xdg_positioner@23) [90m│[0m [3726539.876] -> xdg_positioner@23.set_size(152, 24) [90m│[0m [3726539.880] -> xdg_positioner@23.set_anchor_rect(0, 0, 116, 1807118) [90m│[0m [3726539.885] -> xdg_positioner@23.set_offset(0, 0) [90m│[0m [3726539.892] -> xdg_positioner@23.set_anchor(6) [90m│[0m [3726539.896] -> xdg_positioner@23.set_gravity(8) [90m│[0m [3726539.900] -> xdg_positioner@23.set_constraint_adjustment(59) [90m│[0m [3726539.904] -> xdg_wm_base@18.get_xdg_surface(new id xdg_surface@24, wl_surface@21) [90m│[0m [3726539.909] -> xdg_surface@24.get_popup(new id xdg_popup@25, nil, xdg_positioner@23) [90m│[0m [3726539.914] -> zwlr_layer_surface_v1@20.get_popup(xdg_popup@25) [90m│[0m [3726539.918] -> xdg_positioner@23.destroy() [90m│[0m [3726539.925] -> xdg_popup@25.grab(wl_seat@10, 3) [90m│[0m [3726539.930] -> xdg_surface@24.set_window_geometry(6, 5, 152, 24) [90m│[0m [3726539.937] -> wl_surface@21.commit() [90m│[0m [3726539.942] -> wl_display@1.sync(new id wl_callback@26) [90m│[0m [3726540.135] wl_display@1.delete_id(23) [90m│[0m [3726540.142] wl_display@1.delete_id(26) [90m│[0m [3726540.146] xdg_popup@25.configure(0, 0, 100, 100) [90m│[0m [3726540.156] xdg_surface@24.configure(4) [90m│[0m [3726540.161] -> xdg_surface@24.ack_configure(4) [90m│[0m [3726540.166] wl_callback@26.done(4) [90m│[0m [3726540.784] -> xdg_surface@24.set_window_geometry(6, 5, 152, 24) [90m│[0m [3726540.813] -> wl_surface@17.set_buffer_scale(1) [90m│[0m [3726540.852] -> wl_shm@6.create_pool(new id wl_shm_pool@26, fd 8, 23616) [90m│[0m [3726540.863] -> wl_shm_pool@26.create_buffer(new id wl_buffer@23, 0, 164, 36, 656, 0) [90m│[0m [3726541.146] -> wl_surface@21.attach(wl_buffer@23, 0, 0) [90m│[0m [3726541.155] -> wl_surface@21.set_buffer_scale(1) [90m│[0m [3726541.160] -> wl_surface@21.damage(0, 0, 164, 36) [90m│[0m [3726541.166] -> wl_compositor@8.create_region(new id wl_region@27) [90m│[0m [3726541.171] -> wl_region@27.add(6, 5, 152, 24) [90m│[0m [3726541.176] -> wl_surface@21.set_input_region(wl_region@27) [90m│[0m [3726541.181] -> wl_region@27.destroy() [90m│[0m [3726541.194] -> wl_surface@21.frame(new id wl_callback@28) [90m│[0m [3726541.200] -> wl_surface@21.commit() [90m│[0m [3726541.265] -> zwlr_layer_surface_v1@20.set_size(116, 1807008) [90m│[0m [3726541.293] -> wl_shm@6.create_pool(new id wl_shm_pool@29, fd 8, 838451712) [90m│[0m [3726541.304] -> wl_shm_pool@29.create_buffer(new id wl_buffer@30, 0, 116, 1807008, 464, 0) [90m│[0m [90m│[0m (test-menu-popup:32288): Gdk-CRITICAL **: 13:24:17.303: ../gdk/wayland/gdkdisplay-wayland.c:1399: Unable to create Cairo image surface: invalid value (typically too big) for the size of the input (surface, pattern, etc.) [90m╰────────────────────────────────────────────────────────────┈[0m stdout empty, exit code: -11 test-menu-popup failed (return code -11) ------------------------------------------------------------------------------ 28/33 test-create-subsurface FAIL 0.14s exit status 1 13:24:18 MALLOC_PERTURB_=28 /usr/bin/python3 /builddir/gtk-layer-shell-0.7.0/test/run-integration-test.py /builddir/gtk-layer-shell-0.7.0/build/test/test-create-subsurface ----------------------------------- output ----------------------------------- [90m╭──────────────┤ [0mtest-create-subsurface stderr[90m ├─────────────┈[0m [90m│[0m [3728004.816] -> wl_display@1.get_registry(new id wl_registry@2) [90m│[0m [3728004.834] -> wl_display@1.sync(new id wl_callback@3) [90m│[0m [3728004.982] wl_display@1.delete_id(3) [90m│[0m [3728004.995] wl_registry@2.global(1, "wl_seat", 6) [90m│[0m [3728005.003] wl_registry@2.global(2, "wl_output", 2) [90m│[0m [3728005.010] -> wl_registry@2.bind(2, "wl_output", 2, new id [unknown]@4) [90m│[0m [3728005.061] -> wl_display@1.sync(new id wl_callback@5) [90m│[0m [3728005.068] wl_registry@2.global(3, "wl_shm", 1) [90m│[0m [3728005.073] -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@6) [90m│[0m [3728005.079] wl_registry@2.global(4, "wl_data_device_manager", 2) [90m│[0m [3728005.085] -> wl_registry@2.bind(4, "wl_data_device_manager", 2, new id [unknown]@7) [90m│[0m [3728005.090] wl_registry@2.global(5, "wl_compositor", 4) [90m│[0m [3728005.097] -> wl_registry@2.bind(5, "wl_compositor", 3, new id [unknown]@8) [90m│[0m [3728005.104] wl_registry@2.global(6, "wl_subcompositor", 1) [90m│[0m [3728005.110] -> wl_registry@2.bind(6, "wl_subcompositor", 1, new id [unknown]@9) [90m│[0m [3728005.116] wl_registry@2.global(7, "xdg_wm_base", 2) [90m│[0m [3728005.123] wl_registry@2.global(8, "zwlr_layer_shell_v1", 4) [90m│[0m [3728005.130] wl_callback@3.done(0) [90m│[0m [3728005.158] -> wl_shm@6.create_pool(new id wl_shm_pool@3, fd 7, 4096) [90m│[0m [3728005.236] -> wl_shm_pool@3.resize(8832) [90m│[0m [3728005.262] -> wl_shm_pool@3.resize(18624) [90m│[0m [3728005.280] -> wl_registry@2.bind(1, "wl_seat", 5, new id [unknown]@10) [90m│[0m [3728008.776] -> wl_compositor@8.create_surface(new id wl_surface@11) [90m│[0m [3728008.801] -> wl_data_device_manager@7.get_data_device(new id wl_data_device@12, wl_seat@10) [90m│[0m [3728008.907] -> wl_compositor@8.create_surface(new id wl_surface@13) [90m│[0m [3728008.916] -> wl_display@1.sync(new id wl_callback@14) [90m│[0m [3728009.098] wl_display@1.delete_id(5) [90m│[0m [3728009.108] wl_display@1.delete_id(14) [90m│[0m [3728009.112] wl_output@4.done() [90m│[0m [3728009.128] wl_callback@5.done(0) [90m│[0m [3728009.134] wl_seat@10.capabilities(3) [90m│[0m [3728009.139] -> wl_seat@10.get_pointer(new id wl_pointer@5) [90m│[0m [3728009.162] -> wl_seat@10.get_keyboard(new id wl_keyboard@15) [90m│[0m [3728009.180] wl_callback@14.done(0) [90m│[0m [3728009.186] -> wl_registry@2.bind(7, "xdg_wm_base", 1, new id [unknown]@14) [90m│[0m CHECK EXPECTATIONS COMPLETED [90m│[0m EXPECT: wl_subcompositor .get_subsurface [90m│[0m EXPECT: wl_subsurface .set_position -20 30 [90m│[0m [3728034.859] -> wl_display@1.get_registry(new id wl_registry@16) [90m│[0m [3728034.873] -> wl_display@1.sync(new id wl_callback@17) [90m│[0m [3728035.062] wl_display@1.delete_id(17) [90m│[0m [3728035.071] wl_registry@16.global(1, "wl_seat", 6) [90m│[0m [3728035.083] wl_registry@16.global(2, "wl_output", 2) [90m│[0m [3728035.089] wl_registry@16.global(3, "wl_shm", 1) [90m│[0m [3728035.094] wl_registry@16.global(4, "wl_data_device_manager", 2) [90m│[0m [3728035.099] wl_registry@16.global(5, "wl_compositor", 4) [90m│[0m [3728035.104] wl_registry@16.global(6, "wl_subcompositor", 1) [90m│[0m [3728035.109] wl_registry@16.global(7, "xdg_wm_base", 2) [90m│[0m [3728035.114] -> wl_registry@16.bind(7, "xdg_wm_base", 2, new id [unknown]@18) [90m│[0m [3728035.135] wl_registry@16.global(8, "zwlr_layer_shell_v1", 4) [90m│[0m [3728035.139] -> wl_registry@16.bind(8, "zwlr_layer_shell_v1", 4, new id [unknown]@19) [90m│[0m [3728035.145] wl_callback@17.done(0) [90m│[0m [3728040.380] -> wl_compositor@8.create_surface(new id wl_surface@17) [90m│[0m [90m│[0m ** (test-create-subsurface:32450): WARNING **: 13:24:18.802: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md [90m│[0m [3728040.553] -> wl_surface@17.attach(nil, 0, 0) [90m│[0m [3728040.570] -> zwlr_layer_shell_v1@19.get_layer_surface(new id zwlr_layer_surface_v1@20, wl_surface@17, nil, 2, "gtk-layer-shell") [90m│[0m [3728040.579] -> zwlr_layer_surface_v1@20.set_keyboard_interactivity(0) [90m│[0m [3728040.583] -> zwlr_layer_surface_v1@20.set_exclusive_zone(0) [90m│[0m [3728040.587] -> zwlr_layer_surface_v1@20.set_anchor(0) [90m│[0m [3728040.593] -> zwlr_layer_surface_v1@20.set_margin(0, 0, 0, 0) [90m│[0m [3728040.597] -> zwlr_layer_surface_v1@20.set_size(184, 39) [90m│[0m [3728040.603] -> wl_surface@17.commit() [90m│[0m [3728040.608] -> wl_display@1.sync(new id wl_callback@21) [90m│[0m [3728040.821] wl_display@1.delete_id(21) [90m│[0m [3728040.831] zwlr_layer_surface_v1@20.configure(1, 184, 39) [90m│[0m [3728040.837] -> zwlr_layer_surface_v1@20.ack_configure(1) [90m│[0m [3728040.844] wl_pointer@5.enter(2, wl_surface@17, 5.00000000, 5.00000000) [90m│[0m [3728040.856] wl_pointer@5.frame() [90m│[0m [3728040.914] -> wl_shm_pool@3.create_buffer(new id wl_buffer@22, 4032, 10, 16, 40, 0) [90m│[0m [3728040.922] -> wl_pointer@5.set_cursor(2, wl_surface@13, 1, 1) [90m│[0m [3728040.927] -> wl_surface@13.attach(wl_buffer@22, 0, 0) [90m│[0m [3728040.932] -> wl_surface@13.set_buffer_scale(1) [90m│[0m [3728040.936] -> wl_surface@13.damage(0, 0, 10, 16) [90m│[0m [3728040.941] -> wl_surface@13.commit() [90m│[0m [3728040.948] wl_pointer@5.button(3, 0, 272, 1) [90m│[0m [3728040.956] wl_pointer@5.frame() [90m│[0m [3728040.968] wl_callback@21.done(3) [90m│[0m [90m│[0m (test-create-subsurface:32450): Gdk-WARNING **: 13:24:18.803: Native Windows taller than 65535 pixels are not supported [90m│[0m [3728041.596] -> wl_compositor@8.create_surface(new id wl_surface@21) [90m│[0m [3728041.634] -> wl_surface@21.set_buffer_scale(1) [90m│[0m [3728041.665] -> wl_subcompositor@9.get_subsurface(new id wl_subsurface@23, wl_surface@21, wl_surface@17) [90m│[0m [3728041.676] -> wl_subsurface@23.set_position(-20, 30) [90m│[0m [3728042.175] -> wl_shm@6.create_pool(new id wl_shm_pool@24, fd 8, 28704) [90m│[0m [3728042.189] -> wl_shm_pool@24.create_buffer(new id wl_buffer@25, 0, 184, 39, 736, 0) [90m│[0m [3728042.326] -> wl_surface@17.attach(wl_buffer@25, 0, 0) [90m│[0m [3728042.334] -> wl_surface@17.set_buffer_scale(1) [90m│[0m [3728042.339] -> wl_surface@17.damage(0, 0, 184, 39) [90m│[0m [3728042.345] -> wl_compositor@8.create_region(new id wl_region@26) [90m│[0m [3728042.350] -> wl_region@26.add(0, 0, 184, 39) [90m│[0m [3728042.355] -> wl_surface@17.set_opaque_region(wl_region@26) [90m│[0m [3728042.359] -> wl_region@26.destroy() [90m│[0m [3728042.366] -> wl_surface@17.set_input_region(nil) [90m│[0m [3728042.377] -> wl_surface@17.frame(new id wl_callback@27) [90m│[0m [3728042.382] -> wl_surface@17.commit() [90m│[0m [3728042.388] -> wl_subsurface@23.set_desync() [90m│[0m [3728042.422] -> wl_shm@6.create_pool(new id wl_shm_pool@28, fd 9, 621801600) [90m│[0m [3728042.432] -> wl_shm_pool@28.create_buffer(new id wl_buffer@29, 0, 100, 1554504, 400, 0) [90m│[0m [90m│[0m (test-create-subsurface:32450): Gdk-CRITICAL **: 13:24:18.804: ../gdk/wayland/gdkdisplay-wayland.c:1399: Unable to create Cairo image surface: invalid value (typically too big) for the size of the input (surface, pattern, etc.) [90m╰────────────────────────────────────────────────────────────┈[0m stdout empty, exit code: -11 test-create-subsurface failed (return code -11) ------------------------------------------------------------------------------ ```