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

tst_QSet flaky since qtbase/b057e32dc455d81f9378d6bd0c58888a7eddd155

    XMLWordPrintable

Details

    • 3
    • d9280bb63b (qt/qtbase/dev) d9280bb63b (qt/tqtc-qtbase/dev)

    Description

      Since b057e32dc455d81f9378d6bd0c58888a7eddd155 was merged (https://codereview.qt-project.org/c/qt/qtbase/+/427765), tst_qset::qhash() has become flaky. This is reproducible by running the test in a tight loop:

        i=0
        while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do
           let '++i'
           echo -n "$i "
        done
      

      I cannot get more than a few dozen runs in w/o failure:

      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 32
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 6
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 5
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 65
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 42
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 38
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15
      marc@nobby:~/Qt/qt5-build-clang$ i=0; while qtbase/tests/auto/corelib/tools/qset/tst_qset qhash > /dev/null 2>&1; do let '++i'; echo -n "$i "; done; echo $i
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 40
      

      If I revert b057e32dc455d81f9378d6bd0c58888a7eddd155 locally, then the same loop spins up to 10k without failing.

      Attachments

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

        Activity

          People

            thiago Thiago Macieira
            mmutz Marc Mutz
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes