Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-67648

tst_QWindow::childWindowPositioning is flaky on Wayland (protocol error)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P1: Critical
    • None
    • 5.11.0 Beta 3
    • QPA: Wayland
    • None
    • xdg-shell v6
      Weston --backend=headless-backend.so -i 0
      llvmpipe

    Description

      build@b4116f7138d1:~/build-qt/qtbase/tests/auto/gui/kernel/qwindow$ ./tst_qwindow childWindowPositioning childWindowPositioning
      QStandardPaths: wrong ownership on runtime directory /tmp, 0 instead of 1000
      QStandardPaths: wrong ownership on runtime directory /tmp, 0 instead of 1000
      ********* Start testing of tst_QWindow *********
      Config: Using QtTest library 5.11.0, Qt 5.11.0 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 6.3.0 20170516)
      PASS   : tst_QWindow::initTestCase()
      PASS   : tst_QWindow::childWindowPositioning(create)
      QDEBUG : tst_QWindow::childWindowPositioning(show) Using the 'xdg-shell-v6' shell integration
      QDEBUG : tst_QWindow::childWindowPositioning(show) Using Wayland-EGL
      zxdg_surface_v6@15: error 3: xdg_surface has never been configured
      QSYSTEM: tst_QWindow::childWindowPositioning(show) The Wayland connection experienced a fatal error (Protocol error)
      
      build@b4116f7138d1:~/build-qt/qtbase/tests/auto/gui/kernel/qwindow$ env WAYLAND_DEBUG=1 ./tst_qwindow childWindowPositioning
      QStandardPaths: wrong ownership on runtime directory /tmp, 0 instead of 1000
      [799876.495]  -> wl_display@1.get_registry(new id wl_registry@2)
      [799876.702]  -> wl_display@1.sync(new id wl_callback@3)
      [799877.051] wl_display@1.delete_id(3)
      [799877.177] wl_registry@2.global(1, "wl_compositor", 4)
      [799877.332]  -> wl_registry@2.bind(1, "wl_compositor", 3, new id [unknown]@4)
      [799877.508] wl_registry@2.global(2, "wl_subcompositor", 1)
      [799877.673]  -> wl_registry@2.bind(2, "wl_subcompositor", 1, new id [unknown]@5)
      [799877.815] wl_registry@2.global(3, "wp_viewporter", 1)
      [799877.861] wl_registry@2.global(4, "wp_presentation", 1)
      [799877.892] wl_registry@2.global(5, "zwp_relative_pointer_manager_v1", 1)
      [799878.031] wl_registry@2.global(6, "zwp_pointer_constraints_v1", 1)
      [799878.062] wl_registry@2.global(7, "wl_data_device_manager", 3)
      [799878.220]  -> wl_registry@2.bind(7, "wl_data_device_manager", 1, new id [unknown]@6)
      [799878.262] wl_registry@2.global(8, "wl_shm", 1)
      [799878.419]  -> wl_registry@2.bind(8, "wl_shm", 1, new id [unknown]@7)
      [799878.479] wl_registry@2.global(9, "wl_output", 3)
      [799878.512]  -> wl_registry@2.bind(9, "wl_output", 2, new id [unknown]@8)
      [799878.687]  -> wl_display@1.sync(new id wl_callback@9)
      [799878.709] wl_registry@2.global(10, "zwp_input_panel_v1", 1)
      [799878.851] wl_registry@2.global(11, "zwp_text_input_manager_v1", 1)
      [799878.882] wl_registry@2.global(12, "zxdg_shell_v6", 1)
      [799879.022] wl_registry@2.global(13, "xdg_shell", 1)
      [799879.065] wl_registry@2.global(14, "wl_shell", 1)
      [799879.095] wl_registry@2.global(15, "weston_desktop_shell", 1)
      [799879.237] wl_registry@2.global(16, "weston_screenshooter", 1)
      [799879.268] wl_callback@3.done(35)
      [799879.470] wl_display@1.delete_id(9)
      [799879.492] wl_shm@7.format(0)
      [799879.509] wl_shm@7.format(1)
      [799879.634] wl_output@8.geometry(0, 0, 1024, 640, 0, "weston", "headless", 0)
      [799879.826] wl_output@8.scale(1)
      [799879.845] wl_output@8.mode(3, 1024, 640, 60000)
      [799880.003] wl_output@8.done()
      [799880.028] wl_callback@9.done(35)
      [799880.266]  -> wl_shm@7.create_pool(new id wl_shm_pool@9, fd 6, 4096)
      [799880.600]  -> wl_shm_pool@9.resize(8832)
      [799880.868]  -> wl_shm_pool@9.resize(18624)
      QStandardPaths: wrong ownership on runtime directory /tmp, 0 instead of 1000
      ********* Start testing of tst_QWindow *********
      Config: Using QtTest library 5.11.0, Qt 5.11.0 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 6.3.0 20170516)
      PASS   : tst_QWindow::initTestCase()
      [799882.674]  -> wl_compositor@4.create_surface(new id wl_surface@3)
      [799882.829]  -> wl_compositor@4.create_surface(new id wl_surface@10)
      [799882.968]  -> wl_compositor@4.create_surface(new id wl_surface@11)
      [799883.114]  -> wl_compositor@4.create_surface(new id wl_surface@12)
      [799883.291]  -> wl_surface@12.destroy()
      [799883.334]  -> wl_surface@11.destroy()
      [799883.354]  -> wl_surface@10.destroy()
      [799883.496]  -> wl_surface@3.destroy()
      PASS   : tst_QWindow::childWindowPositioning(create)
      [799883.566]  -> wl_compositor@4.create_surface(new id wl_surface@13)
      [799883.732]  -> wl_registry@2.bind(12, "zxdg_shell_v6", 1, new id [unknown]@14)
      QDEBUG : tst_QWindow::childWindowPositioning(show) Using the 'xdg-shell-v6' shell integration
      [799883.807]  -> zxdg_shell_v6@14.get_xdg_surface(new id zxdg_surface_v6@15, wl_surface@13)
      [799883.972]  -> zxdg_surface_v6@15.get_toplevel(new id zxdg_toplevel_v6@16)
      [799884.000]  -> zxdg_toplevel_v6@16.set_title("tst_qwindow")
      [799884.027]  -> zxdg_toplevel_v6@16.set_app_id("tst_qwindow")
      [799884.164]  -> wl_surface@13.set_buffer_scale(1)
      QDEBUG : tst_QWindow::childWindowPositioning(show) Using Wayland-EGL
      [799885.702]  -> wl_display@1.get_registry(new id wl_registry@17)
      [799885.831]  -> wl_display@1.sync(new id wl_callback@18)
      [799887.470] wl_display@1.delete_id(12)
      [799887.663] wl_display@1.delete_id(11)
      [799887.685] wl_display@1.delete_id(10)
      [799887.699] wl_display@1.delete_id(3)
      [799887.712] wl_display@1.delete_id(18)
      [799887.725] wl_registry@17.global(1, "wl_compositor", 4)
      [799887.754] wl_registry@17.global(2, "wl_subcompositor", 1)
      [799887.784] wl_registry@17.global(3, "wp_viewporter", 1)
      [799887.950] wl_registry@17.global(4, "wp_presentation", 1)
      [799887.979] wl_registry@17.global(5, "zwp_relative_pointer_manager_v1", 1)
      [799888.009] wl_registry@17.global(6, "zwp_pointer_constraints_v1", 1)
      [799888.037] wl_registry@17.global(7, "wl_data_device_manager", 3)
      [799888.066] wl_registry@17.global(8, "wl_shm", 1)
      [799888.094] wl_registry@17.global(9, "wl_output", 3)
      [799888.273] wl_registry@17.global(10, "zwp_input_panel_v1", 1)
      [799888.302] wl_registry@17.global(11, "zwp_text_input_manager_v1", 1)
      [799888.332] wl_registry@17.global(12, "zxdg_shell_v6", 1)
      [799888.360] wl_registry@17.global(13, "xdg_shell", 1)
      [799888.388] wl_registry@17.global(14, "wl_shell", 1)
      [799888.417] wl_registry@17.global(15, "weston_desktop_shell", 1)
      [799888.623] wl_registry@17.global(16, "weston_screenshooter", 1)
      [799888.662] wl_callback@18.done(35)
      [799888.693]  -> wl_display@1.get_registry(new id wl_registry@18)
      [799888.714]  -> wl_display@1.sync(new id wl_callback@3)
      [799888.913] wl_display@1.delete_id(3)
      [799888.934] wl_registry@18.global(1, "wl_compositor", 4)
      [799888.963] wl_registry@18.global(2, "wl_subcompositor", 1)
      [799888.991] wl_registry@18.global(3, "wp_viewporter", 1)
      [799889.020] wl_registry@18.global(4, "wp_presentation", 1)
      [799889.049] wl_registry@18.global(5, "zwp_relative_pointer_manager_v1", 1)
      [799889.219] wl_registry@18.global(6, "zwp_pointer_constraints_v1", 1)
      [799889.250] wl_registry@18.global(7, "wl_data_device_manager", 3)
      [799889.279] wl_registry@18.global(8, "wl_shm", 1)
      [799889.313]  -> wl_registry@18.bind(8, "wl_shm", 1, new id [unknown]@10)
      [799889.357] wl_registry@18.global(9, "wl_output", 3)
      [799889.538] wl_registry@18.global(10, "zwp_input_panel_v1", 1)
      [799889.567] wl_registry@18.global(11, "zwp_text_input_manager_v1", 1)
      [799889.595] wl_registry@18.global(12, "zxdg_shell_v6", 1)
      [799889.623] wl_registry@18.global(13, "xdg_shell", 1)
      [799889.650] wl_registry@18.global(14, "wl_shell", 1)
      [799889.678] wl_registry@18.global(15, "weston_desktop_shell", 1)
      [799889.834] wl_registry@18.global(16, "weston_screenshooter", 1)
      [799889.864] wl_callback@3.done(35)
      [799889.879]  -> wl_display@1.sync(new id wl_callback@3)
      [799889.935] wl_display@1.delete_id(3)
      [799889.953] wl_shm@10.format(0)
      [799889.967] wl_shm@10.format(1)
      [799890.137] wl_callback@3.done(35)
      [799938.245]  -> wl_surface@13.set_buffer_transform(0)
      [799938.737]  -> wl_surface@13.commit()
      [799938.921]  -> wl_compositor@4.create_surface(new id wl_surface@3)
      [799939.373]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@11, wl_surface@3, wl_surface@13)
      [799940.100]  -> wl_subsurface@11.set_desync()
      [799940.219]  -> wl_surface@3.set_buffer_scale(1)
      [799940.484]  -> wl_subsurface@11.set_position(3, 30)
      [799941.158]  -> wl_surface@3.set_buffer_transform(0)
      [799941.496]  -> wl_surface@3.commit()
      [799941.818]  -> wl_subsurface@11.set_position(3, 30)
      [799942.391]  -> wl_compositor@4.create_surface(new id wl_surface@12)
      [799943.180]  -> wl_compositor@4.create_surface(new id wl_surface@19)
      [799943.621]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@20, wl_surface@19, wl_surface@12)
      [799944.457]  -> wl_subsurface@20.set_desync()
      [799944.671]  -> wl_surface@19.set_buffer_scale(1)
      [799944.994]  -> wl_subsurface@20.set_position(0, 0)
      [799945.540]  -> wl_surface@19.set_buffer_transform(0)
      [799945.849]  -> wl_surface@19.commit()
      [799946.457] zxdg_toplevel_v6@16.configure(0, 0, array)
      [799947.195] zxdg_surface_v6@15.configure(36)
      [799947.537]  -> zxdg_surface_v6@15.ack_configure(36)
      [799947.874]  -> wl_subsurface@20.set_position(0, 0)
      [799948.408]  -> zxdg_shell_v6@14.get_xdg_surface(new id zxdg_surface_v6@21, wl_surface@12)
      [799949.004]  -> zxdg_surface_v6@21.get_toplevel(new id zxdg_toplevel_v6@22)
      [799949.419]  -> zxdg_toplevel_v6@22.set_title("tst_qwindow")
      [799949.762]  -> zxdg_toplevel_v6@22.set_app_id("tst_qwindow")
      [799950.095]  -> wl_surface@12.set_buffer_scale(1)
      [799950.811]  -> wl_subsurface@20.set_position(3, 30)
      [799951.316]  -> wl_surface@12.set_buffer_transform(0)
      [799951.625]  -> wl_surface@12.commit()
      [799951.991]  -> wl_shm@7.create_pool(new id wl_shm_pool@23, fd 9, 1078792)
      [799953.384]  -> wl_shm_pool@23.create_buffer(new id wl_buffer@24, 0, 506, 533, 2024, 0)
      [799961.764]  -> wl_surface@13.frame(new id wl_callback@25)
      [799962.511]  -> wl_surface@13.attach(wl_buffer@24, 0, 0)
      [799963.267]  -> wl_surface@13.damage(3, 30, 500, 500)
      [799964.223]  -> wl_surface@13.commit()
      [799964.549]  -> wl_shm@7.create_pool(new id wl_shm_pool@26, fd 10, 1000000)
      [799965.401]  -> wl_shm_pool@26.create_buffer(new id wl_buffer@27, 0, 500, 500, 2000, 0)
      [799967.757]  -> wl_surface@3.frame(new id wl_callback@28)
      [799969.128]  -> wl_surface@3.attach(wl_buffer@27, 0, 0)
      [799970.315]  -> wl_surface@3.damage(0, 0, 500, 500)
      [799971.655]  -> wl_surface@3.commit()
      [799972.130]  -> wl_shm@7.create_pool(new id wl_shm_pool@29, fd 11, 1078792)
      [799973.181]  -> wl_shm_pool@29.create_buffer(new id wl_buffer@30, 0, 506, 533, 2024, 0)
      [799977.143]  -> wl_surface@13.frame(new id wl_callback@31)
      [799977.697]  -> wl_surface@13.attach(wl_buffer@30, 0, 0)
      [799978.458]  -> wl_surface@13.damage(3, 30, 500, 500)
      [799979.404]  -> wl_surface@13.commit()
      [799979.709]  -> wl_shm@7.create_pool(new id wl_shm_pool@32, fd 12, 1000000)
      [799980.562]  -> wl_shm_pool@32.create_buffer(new id wl_buffer@33, 0, 500, 500, 2000, 0)
      [799982.668]  -> wl_surface@19.frame(new id wl_callback@34)
      [799983.133]  -> wl_surface@19.attach(wl_buffer@33, 0, 0)
      [799983.874]  -> wl_surface@19.damage(0, 0, 500, 500)
      [799984.812]  -> wl_surface@19.commit()
      [799985.119]  -> wl_shm@7.create_pool(new id wl_shm_pool@35, fd 13, 1078792)
      [799985.985]  -> wl_shm_pool@35.create_buffer(new id wl_buffer@36, 0, 506, 533, 2024, 0)
      [799989.055]  -> wl_surface@12.frame(new id wl_callback@37)
      [799989.590]  -> wl_surface@12.attach(wl_buffer@36, 0, 0)
      [799990.330]  -> wl_surface@12.damage(3, 30, 500, 500)
      [799991.251]  -> wl_surface@12.commit()
      [799991.498] zxdg_toplevel_v6@22.configure(0, 0, array)
      [799992.235] zxdg_surface_v6@21.configure(37)
      [799992.591]  -> zxdg_surface_v6@21.ack_configure(37)
      [800006.203] wl_display@1.error(zxdg_surface_v6@21, 3, "xdg_surface has never been configured")
      zxdg_surface_v6@21: error 3: xdg_surface has never been configured
      QSYSTEM: tst_QWindow::childWindowPositioning(show) The Wayland connection experienced a fatal error (Protocol error)
      

      Attachments

        For Gerrit Dashboard: QTBUG-67648
        # Subject Branch Project Status CR V

        Activity

          People

            johanhelsing Johan Helsing
            johanhelsing Johan Helsing
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes