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

Crash with invalid min/max sizes

    XMLWordPrintable

Details

    • Linux/Wayland
    • 487de47277 (qt/qtwayland/dev) 9b9effe175 (qt/qtwayland/6.3) 9b9effe175 (qt/tqtc-qtwayland/6.3) 487de47277 (qt/tqtc-qtwayland/dev) 1d7b2acac9 (qt/tqtc-qtwayland/6.2) 9b9effe175 (qt/qtwayland/6.3.1) 9b9effe175 (qt/tqtc-qtwayland/6.3.1)

    Description

      This was originally reported against OBS Studio: https://github.com/obsproject/obs-studio/issues/6227

      Seems like qt-wayland is, in some circumstances, sending invalid min / max sizes through the wire, where any one of the min sizes is bigger than the corresponding max size. Have a look:

      [ 718440.740] -> xdg_toplevel@48.set_app_id("com.obsproject.Studio")
      [ 718441.113] -> wl_surface@42.set_buffer_scale(1)
      [ 718441.484] -> wl_surface@42.set_buffer_transform(0)
      [ 718441.804] -> wl_surface@42.commit()
      [ 718442.070] -> wl_compositor@4.create_region(new id wl_region@49)
      [ 718442.487] -> wl_region@49.add(3, 30, 616, 712)
      [ 718443.011] -> wl_surface@42.set_opaque_region(wl_region@49)
      [ 718443.388] -> wl_region@49.destroy()
      [ 718444.213] wl_buffer@32.release()
      [ 718445.252] -> xdg_toplevel@48.set_min_size(562, 738)
      [ 718445.781] -> xdg_toplevel@48.set_max_size(720, 880)
      [ 718446.180] -> wl_surface@42.commit()
      [ 718446.497] -> wl_compositor@4.create_region(new id wl_region@50)
      [ 718446.906] -> wl_region@50.add(3, 30, 616, 738)
      [ 718447.396] -> wl_surface@42.set_opaque_region(wl_region@50)
      [ 718447.752] -> wl_region@50.destroy()
      ...
      [ 719721.243] wl_pointer@3.frame()
      [ 719722.174] -> xdg_toplevel@48.set_min_size(746, 738)
      [ 719722.386] -> xdg_toplevel@48.set_max_size(720, 880)
      [ 719722.567] -> wl_surface@42.commit()
      [ 719722.716] -> xdg_surface@47.set_window_geometry(0, 0, 752, 771)
      [ 719722.962] -> wl_compositor@4.create_region(new id wl_region@54)
      [ 719723.156] -> wl_region@54.add(3, 30, 746, 738)
      [ 719723.414] -> wl_surface@42.set_opaque_region(wl_region@54)
      [ 719723.594] -> wl_region@54.destroy()
      [ 719723.753] wl_buffer@34.release()
      [ 719723.980] wl_callback@49.done(3395)
      [ 719724.247] -> wl_shm_pool@52.destroy()
      [ 719724.455] -> wl_buffer@53.destroy()
      [ 719724.678] -> wl_surface@25.attach(wl_buffer@34, 0, 0)
      [ 719724.975] -> wl_surface@25.damage(0, 0, 2147483647, 2147483647)
      [ 719725.222] -> wl_shm_pool@46.destroy()
      [ 719725.449] -> wl_buffer@51.destroy()
      [ 719725.690] -> wl_surface@25.commit()
      [ 719725.932] -> wl_display@1.sync(new id wl_callback@49)
      [ 719726.198] -> wl_shm@5.create_pool(new id wl_shm_pool@50, fd 45, 2319168)
      [ 719726.818] -> wl_shm_pool@50.create_buffer(new id wl_buffer@55, 0, 752, 771, 3008, 0)
      [ 719728.263] wl_display@1.error(wl_surface@42, 4, "Invalid min/max size")
      

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              esabraha Eskil Abrahamsen Blomfeldt
              feaneron Georges Basile Stavracas Neto
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes