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

Crashes in Xcb Code when destroyed window was repeatedly raised

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • None
    • 5.6.1, 5.7.0
    • QPA: X11/XCB
    • None
    • Opensuse 13.2, kwin

      What I am doing may look a bit weird but it is a stripped down version from some real life code.
      After porting to Qt 5 we are seeing random crashes in Xcb related code.

      The attached test application can trigger one of these cases. The crash sometimes happens nearly on every start, sometime it does not happen at all for 10 or more invocations.
      while true; do ./StartupCrash& sleep 5; pkill StartupCrash; done helps to kill the thing.

      What the test app does:
      It creates a plain dialog on the stack. And triggers it by calling exec()
      With a timer the dialog repeatedly calls raise(), activateWindow() and showNormal(). This is a hammer used in the real life app to ensure that nothing else is on top...
      After two seconds the dialog closes itself and is destroyed.

      Now another plain dialog (but it could be an empty QWidget as well) without any special behavior is shown and exec of the application is called.
      Now the thing crashes - or not.

        1. backtrace1.txt
          5 kB
        2. backtrace2.txt
          2 kB
        3. qtbug55197.zip
          4 kB
        4. qtbug55197.zip
          0.2 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            paeglis Gatis Paeglis
            berres Armin Berres
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes