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

QTest::qExec doesn't uninstall it's signal handler

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 6.7
    • Testing: qtestlib
    • None
    • Linux/X11

    Description

      When QTest::qExec is called more than once in series in an application and the application receives a signal (outside of the QTest::qExec call), the QTest signal handler will be called in an infinite loop.

      Example Code:

      // testcase.h
      #pragma once
      
      #include <QObject>
      #include <QtTest>
      
      class TestA : public QObject
      {
          Q_OBJECT
      private Q_SLOTS:
          void testPass() {}
      };
      class TestB : public QObject
      {
          Q_OBJECT
      private Q_SLOTS:
          void testFail() { QFAIL("crash now"); }
      };
      
      // main.cpp
      #include "testcase.h" 
      #include <QCoreApplication>
      
      int main(int argc, char *argv[])
      {
          QCoreApplication a(argc, argv);
          std::vector<QObject *> testcases{new TestA, new TestB};
          QStringList args{};    
          for (auto *testcase : testcases) {
              if (QTest::qExec(testcase, args) != 0) {
                  qFatal("Test failed"); // causes SIGABRT to be sent
              }
          }
          return 0;
      }
      

       

      Output:

       

      ********* Start testing of TestA *********
      Config: Using QtTest library 6.7.0, Qt 6.7.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 10.3.1 20210422 (Red Hat 10.3.1-1)), ubuntu 22.04
      PASS   : TestA::initTestCase()
      PASS   : TestA::testPass()
      PASS   : TestA::cleanupTestCase()
      Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 1ms
      ********* Finished testing of TestA *********
      ********* Start testing of TestB *********
      Config: Using QtTest library 6.7.0, Qt 6.7.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 10.3.1 20210422 (Red Hat 10.3.1-1)), ubuntu 22.04
      PASS   : TestB::initTestCase()
      FAIL!  : TestB::testFail() crash now
         Loc: [xxx/qt_test_autogen/EWIEGA46WW/../../../../testcase.h(18)]
      PASS   : TestB::cleanupTestCase()
      Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 1ms
      ********* Finished testing of TestB *********
      Test failed
      Received signal 6 (SIGABRT)
               [Non-test] function time: 0ms, total time: 1ms=== Stack trace ===
      Could not attach to process.  If your uid matches the uid of the target
      process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
      again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
      ptrace: Inappropriate ioctl for device.
      === End of stack trace ===
      Received signal 6 (SIGABRT)
               [Non-test] function time: 72ms, total time: 72ms=== Stack trace ===
      Could not attach to process.  If your uid matches the uid of the target
      process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
      again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
      ptrace: Inappropriate ioctl for device.
      === End of stack trace ===
      Received signal 6 (SIGABRT)
               [Non-test] function time: 121ms, total time: 121ms=== Stack trace ===
      Could not attach to process.  If your uid matches the uid of the target
      process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
      again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
      ptrace: Inappropriate ioctl for device.
      === End of stack trace ===
      Received signal 6 (SIGABRT)
               [Non-test] function time: 168ms, total time: 169ms
      ...

       

      The source of that problem seems to be the signal handler removal logic in ~FatalSignalHandler() in qtestcase.cpp for 6.7 (or qtestcrashhandler.cpp for dev). During the first qExec it hits the first if and skips the removal. At the end of the second qExec it does uninstall the handler, but the previous handler stored in oldActions() will also be the FatalSignalHandler's handler function:

          for (size_t i = 0; i < fatalSignals.size(); ++i) {
              struct sigaction &act = oldActions()[i];
              if (act.sa_flags == 0 && act.sa_handler == SIG_DFL)
                  continue; // Already the default
              if (sigaction(fatalSignals[i], nullptr, &action))
                  continue; // Failed to query present handler
              if (isOurs(action))
                  sigaction(fatalSignals[i], &act, nullptr);
          } 
      

       

      Output of strace -e trace=signal ./qt_test:

      sigaltstack({ss_sp=0x76fc14bf8000, ss_flags=0, ss_size=32768}, NULL) = 0
      rt_sigaction(SIGHUP, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGINT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGQUIT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGABRT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGILL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGBUS, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGFPE, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGSEGV, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGPIPE, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      rt_sigaction(SIGTERM, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
      sigaltstack({ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}, NULL) = 0
      sigaltstack({ss_sp=0x76fc14bf8000, ss_flags=0, ss_size=32768}, NULL) = 0
      rt_sigaction(SIGHUP, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGINT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGQUIT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGABRT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGILL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGBUS, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGFPE, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGSEGV, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGPIPE, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGTERM, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGHUP, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGHUP, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGINT, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGINT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGQUIT, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGQUIT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGABRT, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGABRT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGILL, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGILL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGBUS, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGBUS, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGFPE, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGFPE, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGSEGV, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGSEGV, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGPIPE, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGPIPE, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      rt_sigaction(SIGTERM, NULL, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO, sa_restorer=0x76fc14442520}, 8) = 0
      rt_sigaction(SIGTERM, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      sigaltstack({ss_sp=NULL, ss_flags=SS_DISABLE, ss_size=0}, NULL) = 0
      Test failed
      rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
      tgkill(43224, 43224, SIGABRT)           = 0
      --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=43224, si_uid=1000} ---
      Received signal 6 (SIGABRT)
               [Non-test] function time: 1ms, total time: 2ms
      rt_sigaction(SIGABRT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      tgkill(43224, 43224, SIGABRT)           = 0
      rt_sigreturn({mask=[]})                 = 0
      --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=43224, si_uid=1000} ---
      Received signal 6 (SIGABRT)
               [Non-test] function time: 1ms, total time: 2ms
      rt_sigaction(SIGABRT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      tgkill(43224, 43224, SIGABRT)           = 0
      rt_sigreturn({mask=[]})                 = 0
      --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=43224, si_uid=1000} ---
      Received signal 6 (SIGABRT)
               [Non-test] function time: 2ms, total time: 3ms
      rt_sigaction(SIGABRT, {sa_handler=0x76fc152fa960, sa_mask=[HUP INT QUIT ILL ABRT BUS FPE SEGV PIPE TERM], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESETHAND|SA_SIGINFO|0xffffffff00000000, sa_restorer=0x76fc14442520}, NULL, 8) = 0
      tgkill(43224, 43224, SIGABRT)           = 0
      rt_sigreturn({mask=[]})                 = 0
      --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=43224, si_uid=1000} ---
      ...

      This is probably also the underlying reason for QTBUG-124467

      Attachments

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

        Activity

          People

            macadder Jason McDonald
            e.solutions e so
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes