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

Crash when using QConcatenateTablesProxyModel to handle QWebEnginePage::desktopMediaRequested under i3 window manager

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.8.3
    • None
    • Linux under X11 with the i3 window manager, using two workspaces with a different number of windows in each
    • Linux/X11
    • Linux/X11

    Description

      I'm reporting this bug after investigating a bug report for Konqueror. Under special circumstances (described below), when using the i3 window manager, Konqueror crashes when displaying a dialog to choose the window or screen to share in response to the QWebEnginePage::desktopMediaRequested signal.

      I attach an example program which has the same behavior. What it does is creating a dialog containing a combo box, then using a QConcatenateTablesProxyModel to concatenate the contents of three models: one is a `QStandardItemModel` with a single line, to be used as a default entry, saying "Choose a window or screen", the other two are the windowsModel() and screensModel() provided by the QWebEngineDesktopMediaRequest instance.

      When using the i3 window manager, however, a crash occurs when doing the following:

      • launch the program from an i3 workspace containing at least other 2 windows
      • create a second workspace in i3 and open a single window in it
      • go back to the first workspace
      • in the example program, click the button which prompts the screen sharing, so that the dialog is shown
      • select an entry corresponding to a window or screen in the combo box (that is, any entry except the default one) but do not press the Ok or Cancel button so that the dialog remains open
      • switch to the second workspace
      • the program crashes.

      Note that the example program is hardcoded to display a MDN page about screen capture to test this crash: you need to scroll up a bit the page to find the button to start capturing the screen.

      I also attach a backtrace of the crash in Konqueror. Unfortunately, I don't have a full backtrace with the example program because right now I don't have QtWebEngine with debug symbols installed right now.

      Attachments

        1. main.cpp
          3 kB
        2. CMakeLists.txt
          0.3 kB
        3. backtrace.kcrash
          18 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            dfaure_kdab David Faure
            stefano.crocco Stefano Crocco
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes