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

Q12020 Flaky failing autotest function pushUnderrun in qaudiooutput

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.15.0 Beta3
    • 5.14, 5.15
    • Multimedia
    • None
    • Linux/X11
    • a8131f05b9b3290fa4888c617adbbb6253d2b410 (qt/qtmultimedia/5.14)

    Description

      Here is the log from the incident:

      Coin task: http://coin/coin/integration/qt/qtmultimedia/tasks/1583166246

      Coin log: http://coin/coin/logview/qt/qtmultimedia/a76df4032ca063c7db6b5c35d21a29e5a11e6523/LinuxopenSUSE_15_0x86_64LinuxopenSUSE_15_0x86_64GCCqtci-linux-openSUSE-15.0-x86_64-a09f9c/75bae83168d9f70dfeec10159f9770ea88736194/test_1583166293

      First incidents function:

      ********* Start testing of tst_QAudioOutput *********
      Config: Using QtTest library 5.14.2, Qt 5.14.2 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 7.4.1 20190905 [gcc-7-branch revision 275407])
      PASS : tst_QAudioOutput::initTestCase()
      PASS : tst_QAudioOutput::format()
      PASS : tst_QAudioOutput::invalidFormat(Null Format)
      PASS : tst_QAudioOutput::invalidFormat(Channel count 0)
      PASS : tst_QAudioOutput::invalidFormat(Sample rate 0)
      PASS : tst_QAudioOutput::invalidFormat(Sample size 0)
      PASS : tst_QAudioOutput::bufferSize(Buffer size 512)
      PASS : tst_QAudioOutput::bufferSize(Buffer size 4096)
      PASS : tst_QAudioOutput::bufferSize(Buffer size 8192)
      PASS : tst_QAudioOutput::notifyInterval(Notify interval 50)
      PASS : tst_QAudioOutput::notifyInterval(Notify interval 100)
      PASS : tst_QAudioOutput::notifyInterval(Notify interval 250)
      PASS : tst_QAudioOutput::notifyInterval(Notify interval 1000)
      PASS : tst_QAudioOutput::disableNotifyInterval()
      PASS : tst_QAudioOutput::stopWhileStopped()
      PASS : tst_QAudioOutput::suspendWhileStopped()
      PASS : tst_QAudioOutput::resumeWhileStopped()
      PASS : tst_QAudioOutput::pull(Audio File 0)
      PASS : tst_QAudioOutput::pull(Audio File 1)
      PASS : tst_QAudioOutput::pull(Audio File 2)
      PASS : tst_QAudioOutput::pull(Audio File 3)
      PASS : tst_QAudioOutput::pull(Audio File 4)
      PASS : tst_QAudioOutput::pull(Audio File 5)
      PASS : tst_QAudioOutput::pullSuspendResume(Audio File 0)
      PASS : tst_QAudioOutput::pullSuspendResume(Audio File 1)
      PASS : tst_QAudioOutput::pullSuspendResume(Audio File 2)
      PASS : tst_QAudioOutput::pullSuspendResume(Audio File 3)
      FAIL! : tst_QAudioOutput::pullSuspendResume(Audio File 4) 'stateSignal.count() > 0' returned FALSE. ()
      Loc: [tst_qaudiooutput.cpp(619)]
      PASS : tst_QAudioOutput::pullSuspendResume(Audio File 5)
      PASS : tst_QAudioOutput::push(Audio File 0)
      PASS : tst_QAudioOutput::push(Audio File 1)
      PASS : tst_QAudioOutput::push(Audio File 2)
      PASS : tst_QAudioOutput::push(Audio File 3)
      PASS : tst_QAudioOutput::push(Audio File 4)
      PASS : tst_QAudioOutput::push(Audio File 5)
      PASS : tst_QAudioOutput::pushSuspendResume(Audio File 0)
      PASS : tst_QAudioOutput::pushSuspendResume(Audio File 1)
      PASS : tst_QAudioOutput::pushSuspendResume(Audio File 2)
      PASS : tst_QAudioOutput::pushSuspendResume(Audio File 3)
      PASS : tst_QAudioOutput::pushSuspendResume(Audio File 4)
      PASS : tst_QAudioOutput::pushSuspendResume(Audio File 5)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 0)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 1)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 2)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 3)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 4)
      FAIL! : tst_QAudioOutput::pushUnderrun(Audio File 5) '(stateSignal.count() == 1)' returned FALSE. (didn't emit IdleState signal after suspend(), got 0 signals instead)
      Loc: [tst_qaudiooutput.cpp(928)]
      PASS : tst_QAudioOutput::volume(Volume 0.3)
      PASS : tst_QAudioOutput::volume(Volume 0.6)
      PASS : tst_QAudioOutput::volume(Volume 0.9)
      PASS : tst_QAudioOutput::cleanupTestCase()
      Totals: 49 passed, 2 failed, 0 skipped, 0 blacklisted, 169157ms
      

      Then the repetition:

      ********* Start testing of tst_QAudioOutput *********
      Config: Using QtTest library 5.14.2, Qt 5.14.2 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 7.4.1 20190905 [gcc-7-branch revision 275407])
      PASS : tst_QAudioOutput::initTestCase()
      QDEBUG : tst_QAudioOutput::pushUnderrun(Audio File 0) [ 0.118 D] qt.qpa.events QXcbConnection::printXcbEvent - Event | XCB_PROPERTY_NOTIFY(28) | sequence: 193
      QDEBUG : tst_QAudioOutput::pushUnderrun(Audio File 0) [ 0.119 D] qt.qpa.events QXcbConnection::printXcbEvent - Event | XCB_PROPERTY_NOTIFY(28) | sequence: 195
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 0)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 1)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 2)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 3)
      PASS : tst_QAudioOutput::pushUnderrun(Audio File 4)
      FAIL! : tst_QAudioOutput::pushUnderrun(Audio File 5) '(audioOutput.state() == QAudio::IdleState)' returned FALSE. (didn't transition to IdleState, no data)
      Loc: [tst_qaudiooutput.cpp(929)]
      PASS : tst_QAudioOutput::cleanupTestCase()
      Totals: 7 passed, 1 failed, 0 skipped, 0 blacklisted, 30118ms
      ********* Finished testing of tst_QAudioOutput *********
      

      The wanted action

      • Please delegate this task to a suitable developer
      • Fix the autotest flakiness in all affected versions, not just one. 
      • Cherry-pick the fix to all relevant branches
      • Mark the fix versions to Jira

      Guidelines for debugging

      Please see the internal page https://intranet.qt.io/display/QTRD/Metrics+Guidelines+for+Grafana+Tool+for+Autotests+with+Issues

      How to locate the failed flaky test:

      Please open the link to the Grafana dashboard showing the failure history of the test:

      https://testresults.qt.io/grafana/d/5GKDJSPZz/02-qt-framework-please-fix-these-flaky-tests-random-fails?orgId=1&from=now-90d&to=now&var-project=qt%2Fqtmultimedia&var-testcase=tests%2Fauto%2Fintegration%2Fqaudiooutput&var-testfunction=pushUnderrun&var-branch=5.12&var-branch=5.13&var-branch=5.14&var-branch=5.15&var-branch=dev&var-inter=24h

      Please see the panel List of the recent flaky tests (both passed and failed). Sort it based on the results to see the failed instances. 

      Please open the links to the Coin tasks containing the logs. Please see the test section containing state "Error" and open corresponding logs. 

      Attachments

        For Gerrit Dashboard: QTBUG-82684
        # Subject Branch Project Status CR V

        Activity

          People

            valentyn.doroshchuk Valentyn Doroshchuk
            assaarel Asmo Saarela (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes