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

tst_qapplication: testDeleteLaterProcessEvents deleteLaterAndExitLoop fails on Linux (Non-Glib-EventDispatcher)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 5.1.0
    • Core: Event loop
    • None
    • Linux, g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 64
       

      See the qtbug30200.log . Note:

      • It seems to succeed in the CI (apparently with GLIB-eventloop?)
      • The test is borked in that it creates another object whose code contains QVERIFY(). That is, the test slot does not quit if a failure occurs (and later hangs).

      The diagnostic patch qtbug30200_diag.patch adds the same test to tst_qeventloop, where it succeeds (with a QCoreApplication); the destructor of the EventLoopNester instance is called after the check.

      It also removes the other tests from the slot testDeleteLaterProcessEvents of tst_qapplication to make things clearer. With the patch applied, it appears the ~EventLoopNester is called from qDeleteInEventHandler() before the pointer check (see qtbug30200_eventloopnesterdestructorstack.txt ).

      Oddly enough, the test succeeds on Windows.

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

            Unassigned Unassigned
            kleint Friedemann Kleint
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes