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

SIGABRT in QEventLoop on Linux

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 5.12.4
    • Core: Event loop
    • None
    • Gentoo, KDE-Plasma, X11, glibc-2.28-r6, gcc-8.3.0-r1
      Also reproduced with clang 8.0.1
    • Linux/X11

    Description

      I'm regularly getting a crash in the main QEventLoop.  The application runs fine for a time, but just crashes after a random period.

      It doesn't matter how I interact with the application, the issue reproduces after a random interval, it doesn't appear to occur after a particular interaction or event.

      The crashes occur in two distinct places (I presume they are related).

      *** longjmp causes uninitialized stack frame ***
      Signal: SIGABRT (signal SIGABRT)
      
      raise 0x00007f817b4f742b
      abort 0x00007f817b4e0535
      __libc_message 0x00007f817b53ce07
      __fortify_fail_abort 0x00007f817b5d8045
      __fortify_fail 0x00007f817b5d8081
      ____longjmp_chk 0x00007f817b5d7e8d
      __longjmp_chk 0x00007f817b5d7deb
      <unknown> 0x00007f8180b82f05
      <signal handler called> 0x00007f817d94a810
      poll 0x00007f817b5b7e33
      <unknown> 0x00007f817ac60546
      g_main_context_iteration 0x00007f817ac6066c
      QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp:422
      QXcbGlibEventDispatcher::processEvents qxcbeventdispatcher.cpp:143
      QEventLoop::processEvents atomic_base.h:707
      QEventLoop::exec qflags.h:122
      QCoreApplication::exec qflags.h:120
      QGuiApplication::exec qguiapplication.cpp:1784
      QApplication::exec qapplication.cpp:2894
      MyGlobal::run() MyGlobal.cpp:197
      main main.cpp:90
      __libc_start_main 0x00007f817b4e24fb
      _start 0x000056487eb5e37a

      And here's the second location:

       

      __GI_raise 0x00007f1fe4d3942b
      __GI_abort 0x00007f1fe4d22535
      __libc_message 0x00007f1fe4d7ee07
      __GI___fortify_fail_abort 0x00007f1fe4e1a045
      __GI___fortify_fail 0x00007f1fe4e1a081
      ____longjmp_chk 0x00007f1fe4e19e8d
      __longjmp_chk 0x00007f1fe4e19deb
      <unknown> 0x00007f1fea3c4f05
      <unknown> 0x00007f1fe718c810
      __pthread_cond_wait 0x00007f1fe71870cc
      QWaitCondition::wait(QMutex*, QDeadlineTimer) qwaitcondition_unix.cpp:146
      QWaitCondition::wait(QMutex*, QDeadlineTimer) qwaitcondition_unix.cpp:225
      QWaitCondition::wait(QMutex*, unsigned long) qwaitcondition_unix.cpp:208
      QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) qsgthreadedrenderloop.cpp:1231
      QSGThreadedRenderLoop::handleUpdateRequest(QQuickWindow*) qsgthreadedrenderloop.cpp:1056
      QQuickWindow::event(QEvent*) qquickwindow.cpp:1672
      MyGUI::event(QEvent*) planckgui.cpp:486
      QApplicationPrivate::notify_helper(QObject*, QEvent*) qapplication.cpp:3738
      QApplication::notify(QObject*, QEvent*) qapplication.cpp:3094
      MyApplication::notify(QObject*, QEvent*) MyApplication.cpp:84
      QCoreApplication::notifyInternal2(QObject*, QEvent*) qcoreapplication.cpp:1084
      QCoreApplication::sendEvent(QObject*, QEvent*) qcoreapplication.cpp:1472
      QPlatformWindow::deliverUpdateRequest() qplatformwindow.cpp:793
      QPlatformWindow::windowEvent(QEvent*) qplatformwindow.cpp:478
      QXcbWindow::windowEvent(QEvent*) qxcbwindow.cpp:2380
      QGuiApplicationPrivate::sendQWindowEventToQPlatformWindow(QWindow*, QEvent*) qguiapplication.cpp:1828
      QApplication::notify(QObject*, QEvent*) qapplication.cpp:2944
      MyApplication::notify(QObject*, QEvent*) MyApplication.cpp:84
      QCoreApplication::notifyInternal2(QObject*, QEvent*) qcoreapplication.cpp:1084
      QCoreApplication::sendEvent(QObject*, QEvent*) qcoreapplication.cpp:1472
      QTimerInfoList::activateTimers() qtimerinfo_unix.cpp:643
      ::timerSourceDispatch(GSource *, GSourceFunc, gpointer) qeventdispatcher_glib.cpp:182
      ::idleTimerSourceDispatch(GSource *, GSourceFunc, gpointer) qeventdispatcher_glib.cpp:229
      g_main_context_dispatch 0x00007f1fe44a233d
      <unknown> 0x00007f1fe44a25d8
      g_main_context_iteration 0x00007f1fe44a266c
      QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) qeventdispatcher_glib.cpp:422
      QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) qxcbeventdispatcher.cpp:143
      QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) qeventloop.cpp:138
      QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) qeventloop.cpp:225
      QCoreApplication::exec() qcoreapplication.cpp:1385
      QGuiApplication::exec() qguiapplication.cpp:1784
      QApplication::exec() qapplication.cpp:2894
      MyGlobal::run() MyGlobal.cpp:197
      main main.cpp:90
      __libc_start_main 0x00007f1fe4d244fb
      _start 0x000055ca1938c37a

       

       

      Attachments

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

        Activity

          People

            thiago Thiago Macieira
            tommettam Thomas Mettam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes