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

Assertion failure at end of qt3d's tst_qresourcemanager under QEMU

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P1: Critical
    • None
    • 6.5
    • Testing: qtestlib
    • None
    • Linux/Yocto

    Description

      In repeated failures to integrate a trivial change to qt3d, I've twice seen crashes at the end of tst_qresourcemanager; once as a segfault, the other as an assertion failure:

      PASS   : tst_QResourceManager::cleanupTestCase()
      ASSERT: "element" in file /home/qt/work/qt/qtbase/src/testlib/qtestjunitstreamer.cpp, line 113
      Received signal 6 (SIGABRT)
               [Non-test] function time: 8ms, total time: 58548ms
      

      (That last line's [Non-test] means that, by the time the assert triggered, the last of our test functions had returned. The message is produced by QTest's signal handler before attempting to generate a backtrace; which, sadly, does not work under QEMU.)
      The assertion is in the JUnit XML test streamer, QTestJUnitStreamer::output() verifying it has been passed a non-NULL element; which would explain the segfault if the other failure was built with assertions disabled, so simply went on to dereference that.
      That seems like it must have been called by QJUnitTestLogger::stopLogging(); which would be called (only) by QTest::qCleanup(), which is called either by QTest::qExec() just before returning or by QTest::qRun() on catching an exception, before re-throwing (which its caller, qExec() doesn't catch, so it'll bypass its qCleanup() call).

      Attachments

        Issue Links

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

          Activity

            People

              macadder Jason McDonald
              Eddy Edward Welbourne
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes