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

a11y AT-SPI: org.freedesktop.DBus.Properties "GetAll" queries trigger application crash

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.11.0 FF
    • None
    • Debian testing, qtbase self-compiled from git dev as of commit e0130876ba376faf681b80d4a7dbb20a5e3c3bdb
    • Linux/Wayland
    • 99ad6a51a (dev), 5380da9cc (6.10)

    Description

      This report is based on an earlier discussion in the KDE a11y matrix room.

      When trying to retrieve all properties for one of the AT-SPI interfaces using the "GetAll" method of the "org.freedesktop.DBus.Properties" interface, this results in the Qt app that gets queried to crash.

       

      Sample steps to reproduce:

      1) Run the qtbase spinboxes example:

      $ ./examples/widgets/widgets/spinboxes/spinboxes

          
      2) Identify the AT-SPI bus address to use in the next commands:

      $ busctl --user call org.a11y.Bus /org/a11y/bus org.a11y.Bus GetAddress
      s "unix:path=/run/user/1000/at-spi/bus_1,guid=e4226c4804daa306ae987158683e6ebf"
      

          
      3) Identify bus name for the spinboxes app:

      $ busctl --address="unix:path=/run/user/1000/at-spi/bus_1,guid=e4226c4804daa306ae987158683e6ebf" list | grep spinboxes
      :1.91                   2188539 spinboxes       michi :1.91      user@1000.service -       -
      

      4) Query available interfaces of the root object:

       $ busctl call --address="unix:path=/run/user/1000/at-spi/bus_1,guid=e4226c4804daa306ae987158683e6ebf" ':1.91' '/org/a11y/atspi/accessible/root' 'org.a11y.atspi.Accessible' 'GetInterfaces'
      as 2 "org.a11y.atspi.Accessible" "org.a11y.atspi.Application"
      

      5) Call the GetProperties method for the Application interface:

      $ busctl call --address="unix:path=/run/user/1000/at-spi/bus_1,guid=e4226c4804daa306ae987158683e6ebf" ':1.91' '/org/a11y/atspi/accessible/root' 'org.freedesktop.DBus.Properties' 'GetAll' 's' 'org.a11y.atspi.Application'
      Call failed: Message recipient disconnected from message bus without replying
      

          
      Actual Result:
      No properties are returned, but the app crashes with this on stderr:

      ASSERT failure in QList::at: "index out of range", file /home/michi/development/git/qt5/qtbase/src/corelib/tools/qlist.h, line 505
      Aborted (core dumped)
      
      

       

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            michaelweghorn Michael Weghorn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change