wmww / gtk4-layer-shell

A library to create panels and other desktop components for Wayland using the Layer Shell protocol and GTK4
MIT License
128 stars 4 forks source link

test-get-monitor fails #12

Closed ainola closed 6 months ago

ainola commented 1 year ago

Hi!

When building the package I'm getting test failures on test-get-monitor.

My build steps:

$ meson --prefix=/usr \
          --wrap-mode=nofallback \
          --buildtype=plain \
          -Dtests=true \
          -Ddocs=true \
          -Dintrospection=true \
         <dir> \
          build
$ ninja -C build test

This is built in a chroot environment. The following is output:

23/33 test-get-monitor                           FAIL            0.21s   exit status 1
>>> MALLOC_PERTURB_=107 /usr/bin/python3 /build/gtk4-layer-shell/src/gtk4-layer-shell-1.0.0/test/run-integration-test.py /build/gtk4-layer-shell/src/build/test/test-get-monitor
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――
╭─────────────────┤ test-get-monitor stderr ├────────────────┈
│ [1895272.988]  -> wl_display@1.get_registry(new id wl_registry@2)
│ [1895272.996]  -> wl_display@1.sync(new id wl_callback@3)
│ [1895273.159] wl_display@1.delete_id(3)
│ [1895273.163] wl_registry@2.global(1, "wl_seat", 6)
│ [1895273.167] wl_registry@2.global(2, "wl_output", 2)
│ [1895273.171]  -> wl_registry@2.bind(2, "wl_output", 2, new id [unknown]@4)
│ [1895273.215]  -> wl_display@1.sync(new id wl_callback@5)
│ [1895273.218] wl_registry@2.global(3, "wl_shm", 1)
│ [1895273.220]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@6)
│ [1895273.223] wl_registry@2.global(4, "wl_data_device_manager", 2)
│ [1895273.226]  -> wl_registry@2.bind(4, "wl_data_device_manager", 2, new id [unknown]@7)
│ [1895273.229] wl_registry@2.global(5, "wl_compositor", 4)
│ [1895273.232]  -> wl_registry@2.bind(5, "wl_compositor", 4, new id [unknown]@8)
│ [1895273.235] wl_registry@2.global(6, "wl_subcompositor", 1)
│ [1895273.237]  -> wl_registry@2.bind(6, "wl_subcompositor", 1, new id [unknown]@9)
│ [1895273.240] wl_registry@2.global(7, "xdg_wm_base", 2)
│ [1895273.242] wl_registry@2.global(8, "zwlr_layer_shell_v1", 4)
│ [1895273.246] wl_callback@3.done(0)
│ [1895273.285]  -> wl_shm@6.create_pool(new id wl_shm_pool@3, fd 8, 2304)
│ [1895273.289]  -> wl_registry@2.bind(1, "wl_seat", 6, new id [unknown]@10)
│ [1895276.344]  -> wl_data_device_manager@7.get_data_device(new id wl_data_device@11, wl_seat@10)
│ [1895276.401]  -> wl_compositor@8.create_surface(new id wl_surface@12)
│ [1895276.405]  -> wl_display@1.sync(new id wl_callback@13)
│ [1895276.511] wl_display@1.delete_id(5)
│ [1895276.514] wl_display@1.delete_id(13)
│ [1895276.516] wl_output@4.done()
│ [1895276.519] wl_callback@5.done(0)
│ [1895276.522] wl_seat@10.capabilities(3)
│ [1895276.524]  -> wl_seat@10.get_pointer(new id wl_pointer@5)
│ [1895276.529]  -> wl_seat@10.get_keyboard(new id wl_keyboard@14)
│ [1895276.533] wl_callback@13.done(0)
│ [1895276.535]  -> wl_registry@2.bind(7, "xdg_wm_base", 2, new id [unknown]@13)
│ CHECK EXPECTATIONS COMPLETED
│ 
│ (process:3185): Gtk-WARNING **: 17:49:05.722: Unable to acquire session bus: Cannot autolaunch D-Bus without X11 $DISPLAY
│ [1895287.575]  -> wl_display@1.get_registry(new id wl_registry@15)
│ [1895287.579]  -> wl_display@1.sync(new id wl_callback@16)
│ [1895287.810] wl_display@1.delete_id(16)
│ [1895287.812] wl_registry@15.global(1, "wl_seat", 6)
│ [1895287.814] wl_registry@15.global(2, "wl_output", 2)
│ [1895287.815] wl_registry@15.global(3, "wl_shm", 1)
│ [1895287.817] wl_registry@15.global(4, "wl_data_device_manager", 2)
│ [1895287.818] wl_registry@15.global(5, "wl_compositor", 4)
│ [1895287.819] wl_registry@15.global(6, "wl_subcompositor", 1)
│ [1895287.820] wl_registry@15.global(7, "xdg_wm_base", 2)
│ [1895287.821] wl_registry@15.global(8, "zwlr_layer_shell_v1", 4)
│ [1895287.822]  -> wl_registry@15.bind(8, "zwlr_layer_shell_v1", 4, new id [unknown]@17)
│ [1895287.824] wl_callback@16.done(0)
│ [1895287.921]  -> wl_compositor@8.create_surface(new id wl_surface@16)
│ [1895289.698]  -> wl_display@1.get_registry(new id wl_registry@18)
│ [1895289.702]  -> wl_display@1.sync(new id wl_callback@19)
│ [1895289.852] wl_display@1.delete_id(19)
│ [1895289.854] wl_registry@18.global(1, "wl_seat", 6)
│ [1895289.857] wl_registry@18.global(2, "wl_output", 2)
│ [1895289.858] wl_registry@18.global(3, "wl_shm", 1)
│ [1895289.860] wl_registry@18.global(4, "wl_data_device_manager", 2)
│ [1895289.861] wl_registry@18.global(5, "wl_compositor", 4)
│ [1895289.862] wl_registry@18.global(6, "wl_subcompositor", 1)
│ [1895289.863] wl_registry@18.global(7, "xdg_wm_base", 2)
│ [1895289.864] wl_registry@18.global(8, "zwlr_layer_shell_v1", 4)
│ [1895289.865] wl_callback@19.done(0)
│ [1895289.867]  -> wl_display@1.sync(new id wl_callback@19)
│ [1895289.970] wl_display@1.delete_id(19)
│ [1895289.971] wl_callback@19.done(0)
│ [1895289.974]  -> wl_display@1.get_registry(new id wl_registry@19)
│ [1895289.976]  -> wl_display@1.sync(new id wl_callback@20)
│ [1895290.091] wl_display@1.delete_id(20)
│ [1895290.093] wl_registry@19.global(1, "wl_seat", 6)
│ [1895290.094] wl_registry@19.global(2, "wl_output", 2)
│ [1895290.095] wl_registry@19.global(3, "wl_shm", 1)
│ [1895290.096]  -> wl_registry@19.bind(3, "wl_shm", 1, new id [unknown]@21)
│ [1895290.098] wl_registry@19.global(4, "wl_data_device_manager", 2)
│ [1895290.099] wl_registry@19.global(5, "wl_compositor", 4)
│ [1895290.100] wl_registry@19.global(6, "wl_subcompositor", 1)
│ [1895290.102] wl_registry@19.global(7, "xdg_wm_base", 2)
│ [1895290.103] wl_registry@19.global(8, "zwlr_layer_shell_v1", 4)
│ [1895290.104] wl_callback@20.done(0)
│ [1895290.106]  -> wl_display@1.sync(new id wl_callback@20)
│ [1895290.194] wl_display@1.delete_id(20)
│ [1895290.196] wl_callback@20.done(0)
│ Gsk-Message: 17:49:05.725: Failed to realize renderer of type 'GskGLRenderer' for surface 'GdkWaylandToplevel': Could not initialize EGL display
│ 
│ [1895290.259]  -> zwlr_layer_shell_v1@17.get_layer_surface(new id zwlr_layer_surface_v1@20, wl_surface@16, wl_output@4, 2, "gtk-layer-shell")
│ [1895290.263]  -> zwlr_layer_surface_v1@20.set_keyboard_interactivity(0)
│ [1895290.264]  -> zwlr_layer_surface_v1@20.set_exclusive_zone(0)
│ [1895290.265]  -> zwlr_layer_surface_v1@20.set_anchor(0)
│ [1895290.266]  -> zwlr_layer_surface_v1@20.set_margin(0, 0, 0, 0)
│ [1895291.214]  -> zwlr_layer_surface_v1@20.set_size(178, 33)
│ [1895291.220]  -> wl_surface@16.commit()
│ [1895291.237]  -> zwlr_layer_surface_v1@20.destroy()
│ [1895291.242]  -> wl_surface@16.destroy()
│ [1895291.247]  -> wl_compositor@8.create_surface(new id wl_surface@22)
╰────────────────────────────────────────────────────────────┈

stdout empty, exit code: -11

test-get-monitor failed (return code -11)
wmww commented 1 year ago

It appears you got this error with gtk4-layer-shell, which is in a different repository than the GTK3 version, transferring

wmww commented 1 year ago

Hmm, I can't reproduce on Ubuntu 22.04 with GTK v4.6.6 and gtk-4-layer-shell built from current main. What's your GTK version, and does the demo crash? (if the demo doesn't crash you can read your GTK version from the demo, else it in the package manager).

EDIT: by the demo, i mean build/examples/gtk4-layer-demo

ainola commented 1 year ago

I'm on Arch, which distributes 4.10.1. The example program runs, it's just the test that is failing.

SilverRainZ commented 1 year ago

I got the same error too, and the example runs well too.

wmww commented 1 year ago

Sorry I've left this hanging. I can't repro with GTK 4.10 build from source on Ubuntu 22.04. Maybe some other package is relevant. Will try on my Arch machine when I'm home in a couple weeks.

SilverRainZ commented 7 months ago
...
24/38 integration-test-get-namespace-custom-namespace                OK              0.43s
25/38 integration-test-get-keyboard-mode                             OK              0.41s
26/38 integration-test-get-monitor                                   OK              0.41s
27/38 integration-test-set-keyboard-mode                             OK              0.72s
...

This issue is fixed by https://github.com/wmww/gtk4-layer-shell/pull/29 and can be closed now.