canonical / mir

The Mir compositor
GNU General Public License v2.0
642 stars 103 forks source link

`test-apps-can-run` fails when running kodi in mir-ci when running core22 on rpi3b #3464

Open mattkae opened 4 months ago

mattkae commented 4 months ago

There is something strange going on with libinput at the end of this log :thinking: It looks like the server never starts because the wayland display isn't there!

Log

Full Log

      dbus-daemon[17566]: [session uid=1000 pid=17566] Activating service name='org.freedesktop.systemd1' requested by ':1.0' (uid=1000 pid=17567 comm="checkbox-mir.mir-ci --verbose --junitxml=/tmp/mir-" label="unconfined")
dbus-daemon[17566]: [session uid=1000 pid=17566] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
============================= test session starts ==============================
platform linux -- Python 3.10.12, pytest-8.2.2, pluggy-1.5.0 -- /snap/checkbox-mir/783/bin/python3
cachedir: /tmp/pytest-cache
rootdir: /snap/checkbox-mir/783/lib/python3.10/site-packages/mir_ci
configfile: pytest.ini
plugins: asyncio-0.23.7
asyncio: mode=auto
collecting ... collected 1 item

tests/test_apps_can_run.py::TestAppsCanRun::test_app_can_run[mir_test_tools-mir-kiosk-kodi] FAILED [100%]

=================================== FAILURES ===================================
________ TestAppsCanRun.test_app_can_run[mir_test_tools-mir-kiosk-kodi] ________

self = 
any_server = 
app = 
record_property = .append_property at 0xffffb402aa70>

    @pytest.mark.smoke
    @pytest.mark.parametrize(
        "app",
        [
            apps.wpe(),
            apps.snap("mir-kiosk-neverputt"),
            apps.snap("mir-kiosk-scummvm"),
            apps.snap("mir-kiosk-kodi"),
            apps.pluma(),
            apps.qterminal(),
        ],
    )
    async def test_app_can_run(self, any_server, app, record_property) -> None:
        server_instance = DisplayServer(any_server)
        program = server_instance.program(app)
        benchmarker = Benchmarker(OrderedDict(compositor=server_instance, client=program), poll_time_seconds=0.1)
>       async with benchmarker:

tests/test_apps_can_run.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
lib/benchmarker.py:40: in __aenter__
    raise e
lib/benchmarker.py:34: in __aenter__
    await program.__aenter__()
program/display_server.py:81: in __aenter__
    raise e
program/display_server.py:78: in __aenter__
    wait_for_wayland_display(runtime_dir, self.display_name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

runtime_dir = '/run/user/1000', name = 'wayland-0017567'

    def wait_for_wayland_display(runtime_dir: str, name: str) -> None:
        i = inotify.adapters.Inotify()
        i.add_watch(runtime_dir, mask=inotify.constants.IN_CREATE)
        # Check if display has already appeared Since we've already created the watch it might be seen
        # by both this check and inotify, but there's no way it's seen by neither.
        if os.path.exists(os.path.join(runtime_dir, name)):
            return
        # Wait for display to appear
        for event in i.event_gen(timeout_s=display_appear_timeout, yield_nones=False):
            (_, type_names, path, filename) = event
            if filename == name:
                return
>       raise RuntimeError("Wayland display " + name + " did not appear")
E       RuntimeError: Wayland display wayland-0017567 did not appear

program/display_server.py:41: RuntimeError
----------------------------- Captured stdout call -----------------------------

╭────────────────────────┤ mir-test-tools.demo-server ├────────────────────────
│ [2024-07-03 19:36:20.245158]  mirserver: Starting
│ [2024-07-03 19:36:20.451062] < - debug - > mirserver: Discovered object path for current session = /org/freedesktop/login1/session/_330
│ [2024-07-03 19:36:20.470344] < - debug - > mirserver: Using logind for session management
│ [2024-07-03 19:36:20.488962]  mircommon: Loading modules from: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform
│ [2024-07-03 19:36:20.489871]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.22
│ [2024-07-03 19:36:20.490227]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-wayland.so.22
│ [2024-07-03 19:36:20.490377]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/renderer-egl-generic.so.22
│ [2024-07-03 19:36:20.490511]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/server-virtual.so.22
│ [2024-07-03 19:36:20.490648]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.22
│ [2024-07-03 19:36:20.490778]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.9
│ [2024-07-03 19:36:20.528422]  mirserver: Found display driver: mir:x11 (version 2.17.0)
│ [2024-07-03 19:36:20.528830]  mirserver: (Unsupported by system environment)
│ [2024-07-03 19:36:20.528969]  mirserver: Found display driver: mir:egl-generic (version 2.17.0)
│ [2024-07-03 19:36:20.540889]  mirserver: Found display driver: mir:wayland (version 2.17.0)
│ [2024-07-03 19:36:20.541228]  mirserver: (Unsupported by system environment)
│ [2024-07-03 19:36:20.541353]  mirserver: Found display driver: mir:gbm-kms (version 2.17.0)
│ [2024-07-03 19:36:20.587367] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver vc4-drm
│ [2024-07-03 19:36:24.361592] < -warning- > gbm-kms: Failed to detect whether device /dev/dri/card0 supports KMS, continuing with lower confidence
│ [2024-07-03 19:36:24.417889] < - debug - > gbm-kms: Quirks: checking device with devnode: (null), driver 
│ [2024-07-03 19:36:24.424793]  mirserver: Driver supports:
│ [2024-07-03 19:36:24.425104]  mirserver:     /devices/platform/soc/soc:gpu/drm/card0 (priority 128)
│ [2024-07-03 19:36:24.425307]  mirserver: Found display driver: mir:virtual (version 2.17.0)
│ [2024-07-03 19:36:24.425478]  mirserver: (Unsupported by system environment)
│ [2024-07-03 19:36:24.425935]  mirserver: Selected display driver: mir:gbm-kms (version 2.17.0) for device ((null): /dev/dri/card0)
│ [2024-07-03 19:36:24.518682]  mircommon: Loading modules from: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform
│ [2024-07-03 19:36:24.519485]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.22
│ [2024-07-03 19:36:24.519716]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-wayland.so.22
│ [2024-07-03 19:36:24.520009]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/renderer-egl-generic.so.22
│ [2024-07-03 19:36:24.520154]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/server-virtual.so.22
│ [2024-07-03 19:36:24.520292]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.22
│ [2024-07-03 19:36:24.520421]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.9
│ [2024-07-03 19:36:24.569897]  mirserver: Found rendering driver: mir:gbm-kms (version 2.17.0)
│ [2024-07-03 19:36:24.585647] < - debug - > gbm-kms: GBM-capable display found
│ [2024-07-03 19:36:24.602634] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver vc4-drm
│ [2024-07-03 19:36:24.606210] < - debug - > gbm-kms: Quirks: checking device with devnode: (null), driver 
│ [2024-07-03 19:36:24.609761] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/renderD128, driver vc4-drm
│ [2024-07-03 19:36:24.665065]  mirserver: Driver supports:
│ [2024-07-03 19:36:24.665269]  mirserver:     /devices/platform/soc/soc:gpu/drm/renderD128 (priority 256)
│ [2024-07-03 19:36:24.665436]  mirserver: Found rendering driver: mir:wayland (version 2.17.0)
│ [2024-07-03 19:36:24.665922]  mirserver: Found rendering driver: mir:egl-generic (version 2.17.0)
│ [2024-07-03 19:36:24.716646]  mirserver: Driver supports:
│ [2024-07-03 19:36:24.716829]  mirserver:     System (priority 128)
│ [2024-07-03 19:36:24.716957]  mirserver: Found rendering driver: mir:virtual (version 2.17.0)
│ [2024-07-03 19:36:24.717284]  mirserver: Found rendering driver: mir:x11 (version 2.17.0)
│ [2024-07-03 19:36:24.717774]  mirserver: Selected rendering driver: mir:gbm-kms (version 2.17.0) for device ((null): /dev/dri/renderD128)
│ [2024-07-03 19:36:24.718993] < - debug - > gbm-kms: Checking whether /dev/dri/renderD128 is the same device as (/dev/dri/card0, /dev/dri/renderD128)...
│ [2024-07-03 19:36:24.719114] < - debug - > gbm-kms:   ...yup.
│ [2024-07-03 19:36:24.949620] < - debug - > gbm-kms: No EDID data available on connector 89
│ [2024-07-03 19:36:24.949868] < -warning- > gbm-kms: Unable to determine the current display mode.
│ [2024-07-03 19:36:24.950927]  gbm-kms: DRM device details:
│ [2024-07-03 19:36:24.951307]  gbm-kms: /dev/dri/card0: using driver vc4 [Broadcom VC4 graphics] (version: 0.0.0 driver date: 20140616)
│ [2024-07-03 19:36:24.951760]  gbm-kms:   Output: DSI-1 (connected)
│ [2024-07-03 19:36:24.951918]  gbm-kms:       Mode: 800×480@60.04
│ [2024-07-03 19:36:24.952641] < -warning- > gbm-kms: Ignoring attempt to set zero length gamma
│ [2024-07-03 19:36:25.025375] < -warning- > miral: Failed to load cursor theme: default
│ [2024-07-03 19:36:25.229963]  mirserver: Using hardware cursor
│ [2024-07-03 19:36:25.339112] < -warning- > miral: Failed to load cursor theme: default
│ [2024-07-03 19:36:25.459750]  gbm-kms-buffer-allocator: Enabled linux-dmabuf import support
│ [2024-07-03 19:36:26.362410] < - ERROR - > mirserver: Unable to watch directory /snap/mir-test-tools/15854/graphics/usr/share/applications
│ [2024-07-03 19:36:26.386260]  mircommon: Loading modules from: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform
│ [2024-07-03 19:36:26.387228]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.22
│ [2024-07-03 19:36:26.387838]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-wayland.so.22
│ [2024-07-03 19:36:26.388297]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/renderer-egl-generic.so.22
│ [2024-07-03 19:36:26.388693]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/server-virtual.so.22
│ [2024-07-03 19:36:26.389068]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.22
│ [2024-07-03 19:36:26.389380]  mircommon: Loading module: /snap/mir-test-tools/15854/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.9
│ [2024-07-03 19:36:26.399865]  mirserver: Selected input driver: mir:evdev-input (version: 2.17.0)
│ [2024-07-03 19:36:26.417869]  mirserver: Mir version 2.17.0
│ [2024-07-03 19:36:26.429779]  GLRenderer: EGL vendor: Mesa Project
│ [2024-07-03 19:36:26.430064]  GLRenderer: EGL version: 1.4
│ [2024-07-03 19:36:26.430244]  GLRenderer: EGL client APIs: OpenGL OpenGL_ES 
│ [2024-07-03 19:36:26.430416]  GLRenderer: EGL extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display 
│ [2024-07-03 19:36:26.432617]  GLRenderer: GL vendor: Broadcom
│ [2024-07-03 19:36:26.432947]  GLRenderer: GL renderer: VC4 V3D 2.1
│ [2024-07-03 19:36:26.433112]  GLRenderer: GL version: OpenGL ES 2.0 Mesa 23.2.1-1ubuntu3.1~22.04.2
│ [2024-07-03 19:36:26.433258]  GLRenderer: GLSL version: OpenGL ES GLSL ES 1.0.16
│ [2024-07-03 19:36:26.433632]  GLRenderer: GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_stencil8 GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_depth_texture GL_AMD_performance_monitor GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_NV_pack_subimage GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_NV_generate_mipmap_sRGB GL_NV_pixel_buffer_object GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_debug_label GL_EXT_separate_shader_objects GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_elements_base_vertex GL_EXT_texture_border_clamp GL_KHR_context_flush_control GL_OES_draw_elements_base_vertex GL_OES_texture_border_clamp GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_s3tc_srgb GL_KHR_parallel_shader_compile GL_MESA_tile_raster_order GL_MESA_bgra 
│ [2024-07-03 19:36:26.433903]  GLRenderer: GL max texture size = 2048
│ [2024-07-03 19:36:26.442478]  GLRenderer: GL framebuffer bits: RGBA=8880, depth=0, stencil=0
│ [2024-07-03 19:36:26.515303] < - debug - > mirserver: Handling Terminated from pid=17567
│ [2024-07-03 19:36:26.516109] < - debug - > mirserver: Ignoring logind PauseDevice("gone") event for DRM device 226:0
│ [2024-07-03 19:36:26.516376]  mirserver: Initial display configuration:
│ [2024-07-03 19:36:26.516513]  mirserver: * Output 1: DSI connected, used
│ [2024-07-03 19:36:26.516633]  mirserver: . |_ Physical size 0.0" 0x0mm
│ [2024-07-03 19:36:26.516748]  mirserver: . |_ Power is on
│ [2024-07-03 19:36:26.516859]  mirserver: . |_ Current mode 800x480 60.04Hz
│ [2024-07-03 19:36:26.516968]  mirserver: . |_ Preferred mode 800x480 60.04Hz
│ [2024-07-03 19:36:26.517080]  mirserver: . |_ Orientation normal
│ [2024-07-03 19:36:26.517193]  mirserver: . |_ Logical size 800x480
│ [2024-07-03 19:36:26.517312]  mirserver: . |_ Logical position +0+0
│ [2024-07-03 19:36:26.517421]  mirserver: . |_ Scaling factor: 1.00
│ libinput error: /usr/share/libinput: failed to find data files
│ libinput error: Failed to load the device quirks from /usr/share/libinput and /etc/libinput/local-overrides.quirks. This will negatively affect device behavior. See https://wayland.freedesktop.org/libinput/doc/1.20.0/device-quirks.html for details.
╰──────────────────────────────────────────────────────────────────────────────
- generated xml file: /tmp/mir-ci_test_app_can_run[mir_test_tools-mir-kiosk-kodi].xml -
=========================== short test summary info ============================
FAILED tests/test_apps_can_run.py::TestAppsCanRun::test_app_can_run[mir_test_tools-mir-kiosk-kodi]
============================== 1 failed in 11.84s ==============================

mattkae commented 4 months ago

Related: https://github.com/canonical/ubuntu-frame/issues/6