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

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

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes