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

Crash on the Qt bearer thread

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Not Evaluated Not Evaluated
    • None
    • 5.12.1
    • Network
    • None
    • Linux/Wayland

      We've got a crash from the Qt bearer thread.
      Note: Our home-made stack tracer crashed while handling a signal thrown from Qt bearer thread.

      Below is the stacktrace:
       

      #0 0x00000000005d4fb0 in stacktrace::<lambda(std::ostream&)>::operator()(std::ostream &) const (__closure=0x7f08528ea8, __closure@entry=0x7f08528ec8, os=...) at ../src/signal-handler.cpp:308
      ucontext = <optimized out>
      mcontext = <optimized out>
      reg_nibble_width = <optimized out>
      instruction_ptr = <optimized out>
      threadName = "Qt bearer threa"
      regs = <optimized out>
      sig = @0x7f08528e9c: 11
      siginfo = @0x7f08528e90: 0x2710
      context_ptr = @0x7f08528e88: 0x1
      #1 0x00000000005d6cd8 in stacktrace::fatal_signal_handler (sig=127, siginfo=0x7f08528e90, context_ptr=0x7f08528e9c) at ../src/signal-handler.cpp:467
      os = {<std::basic_ios<char, std::char_traits<char> >> = {<std::ios_base> = {_vptr.ios_base = 0x7fad0d57a8 <vtable for std::ostream+64>, static boolalpha = std::_S_boolalpha,
      static dec = std::_S_dec, static fixed = std::_S_fixed, static hex = std::_S_hex, static internal = std::_S_internal, static left = std::_S_left, static oct = std::_S_oct,
      static right = std::_S_right, static scientific = std::_S_scientific, static showbase = std::_S_showbase, static showpoint = std::_S_showpoint, static showpos = std::_S_showpos,
      static skipws = std::_S_skipws, static unitbuf = std::_S_unitbuf, static uppercase = std::_S_uppercase, static adjustfield = std::_S_adjustfield, static basefield = std::_S_basefield,
      static floatfield = std::_S_floatfield, static badbit = std::_S_badbit, static eofbit = std::_S_eofbit, static failbit = std::_S_failbit, static goodbit = std::_S_goodbit,
      static app = std::_S_app, static ate = std::_S_ate, static binary = std::_S_bin, static in = std::_S_in, static out = std::_S_out, static trunc = std::_S_trunc, static beg = std::_S_beg,
      static cur = std::_S_cur, static end = std::_S_end, _M_precision = 6, _M_width = 0, _M_flags = 4098, _M_exception = std::_S_goodbit, _M_streambuf_state = std::_S_goodbit,
      _M_callbacks = 0x0, _M_word_zero = {_M_pword = 0x0, _M_iword = 0}, _M_local_word = {{_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {
      _M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}}, _M_word_size = 8,
      _M_word = 0x7f08528f08, _M_ios_locale = {static none = 0, static ctype = 1, static numeric = 2, static collate = 4, static time = 8, static monetary = 16, static messages = 32,
      static all = 63, _M_impl = 0x7fad0dc260 <(anonymous namespace)::c_locale_impl>, static _S_classic = 0x7fad0dc260 <(anonymous namespace)::c_locale_impl>,
      static _S_global = 0x7fad0dc260 <(anonymous namespace)::c_locale_impl>, static _S_categories = 0x7fad0cf080 <__gnu_cxx::category_names>, static _S_once = 2, static _S_twinned_facets =
      0x7fad0d0690 <std::locale::_S_twinned_facets>}}, _M_tie = 0x0, _M_fill = 32 ' ', _M_fill_init = true, _M_streambuf = 0x7fea727bc8, _M_ctype = 0x7fad0db548 <(anonymous namespace)::ctype_c>,
      _M_num_put = 0x7fad0db258 <(anonymous namespace)::num_put_c>, _M_num_get = 0x7fad0dc610 <(anonymous namespace)::num_get_c>}, _vptr.basic_ostream = 0x7fad0d5780 <vtable for std::ostream+24>}
      write_log = {__sig = @0x7f08528e9c, __siginfo = @0x7f08528e90, __context_ptr = @0x7f08528e88}
      #2 <signal handler called>
      No symbol table info available.
      #3 std::__atomic_base<int>::load (__m=std::memory_order_acquire, this=<optimized out>) at /usr/include/c++/5.4.0/bits/atomic_base.h:396
      No locals.
      #4 QAtomicOps<int>::loadAcquire<int> (_q_value=...) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/thread/qatomic_cxx11.h:239
      No locals.
      #5 QBasicAtomicInteger<int>::loadAcquire (this=<optimized out>) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/thread/qbasicatomic.h:106
      No locals.
      #6 QFreeList<void, QtTimerIdFreeListConstants>::next (this=<optimized out>) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/tools/qfreelist_p.h:244
      newid = <optimized out>
      ---Type <return> to continue, or q <return> to quit---
      at = <optimized out>
      v = <optimized out>
      #7 QAbstractEventDispatcherPrivate::allocateTimerId () at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qabstracteventdispatcher.cpp:93
      No locals.
      #8 0x0000007fad399060 in QAbstractEventDispatcher::registerTimer (this=0x7f3c000920, interval=interval@entry=10000, timerType=timerType@entry=Qt::CoarseTimer, object=object@entry=0x7f3c006230)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qabstracteventdispatcher.cpp:267
      id = <optimized out>
      #9 0x0000007fad3cb088 in QObject::startTimer (this=this@entry=0x7f3c006230, interval=10000, timerType=Qt::CoarseTimer)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qobject.cpp:1643
      timerId = <optimized out>
      
      #10 0x0000007fad3d63c4 in QTimer::start (this=0x7f3c006230) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qtimer.cpp:211
      No locals.
      #11 0x0000007fae2dea20 in QNetworkConfigurationManagerPrivate::startPolling (this=this@entry=0x3a74790)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/network/bearer/qnetworkconfigmanager_p.cpp:476
      engine = 0x3a75700
      locker = {val = 61294513}
      #12 0x0000007fae2dece0 in QNetworkConfigurationManagerPrivate::updateConfigurations (this=0x3a74790)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/network/bearer/qnetworkconfigmanager_p.cpp:421
      locker = <optimized out>
      engine = 0x3a75700
      #13 0x0000007fae370ddc in QNetworkConfigurationManagerPrivate::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/build/src/network/.moc/moc_qnetworkconfigmanager_p.cpp:126
      _t = <optimized out>
      
      #14 0x0000007fad3ca514 in QObject::event (this=0x3a74790, e=<optimized out>) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qobject.cpp:1260
      mce = <optimized out>
      sw = {receiver = 0x3a74790, previousSender = 0x0, currentSender = {sender = 0x3a75700, signal = 6, ref = 1}, switched = true}
      #15 0x0000007fad39bf44 in doNotify (event=0x7f3c002120, receiver=0x3a74790) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qcoreapplication.cpp:1150
      No locals.
      #16 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qcoreapplication.cpp:1136
      No locals.
      #17 QCoreApplication::notifyInternal2 (receiver=0x3a74790, event=0x7f3c002120) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qcoreapplication.cpp:1060
      selfRequired = false
      result = false
      cbdata = {0x3a74790, 0x7f3c002120, 0x7f0852a697}
      d = <optimized out>
      ---Type <return> to continue, or q <return> to quit---
      threadData = 0x3cf4b70
      scopeLevelCounter = {threadData = 0x3cf4b70}
      #18 0x0000007fad39c15c in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x7f3c002120)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qcoreapplication.cpp:1450
      No locals.
      #19 0x0000007fad39f040 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x3cf4b70)
      at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qcoreapplication.cpp:1799
      e = 0x7f3c002120
      pe = <optimized out>
      r = <optimized out>
      unlocker = {m = <synthetic pointer><error reading variable>}
      event_deleter = {d = 0x7f3c002120}
      locker = {val = 63916960}
      startOffset = 0
      i = @0x3cf4b94: 1
      cleanup = {receiver = 0x0, event_type = 0, data = 0x3cf4b70, exceptionCaught = true}
      #20 0x0000007fad3f2350 in QEventDispatcherUNIX::processEvents (this=0x7f3c000920, flags=...) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qeventdispatcher_unix.cpp:466
      d = 0x7f3c000940
      include_timers = <optimized out>
      include_notifiers = <optimized out>
      wait_for_events = <optimized out>
      canWait = <optimized out>
      tm = <optimized out>
      wait_tm = {tv_sec = 7, tv_nsec = 441000000}
      nevents = <optimized out>
      
      #21 0x0000007fad39a714 in QEventLoop::exec (this=this@entry=0x7f0852a8e0, flags=..., flags@entry=...) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/kernel/qeventloop.cpp:225
      d = 0x7f3c000a30
      locker = {val = 63916736}
      ref = {d = 0x7f3c000a30, locker = @0x7f0852a8b8, exceptionCaught = true}
      #22 0x0000007fad1d1c20 in QThread::exec (this=<optimized out>) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/thread/qthread.cpp:531
      d = 0x3cf4a50
      locker = {val = 63916736}
      eventLoop = {<QObject> = {_vptr.QObject = 0x7fad6b0490 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7fad5844b0 <qt_meta_stringdata_QObject>,
      data = 0x7fad5845f0 <qt_meta_data_QObject>, static_metacall = 0x7fad3d0e98 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
      extradata = 0x0}}, d_ptr = {d = 0x7f3c000a30}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7fad5874f8 <qt_meta_stringdata_Qt>,
      data = 0x7fad584710 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {
      ---Type <return> to continue, or q <return> to quit---
      superdata = 0x15d1290 <QObject::staticMetaObject>, stringdata = 0x7fad580190 <qt_meta_stringdata_QEventLoop>, data = 0x7fad5801f0 <qt_meta_data_QEventLoop>,
      static_metacall = 0x7fad39a3e8 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
      returnCode = <optimized out>
      #23 0x0000007fad1d3168 in QThreadPrivate::start (arg=0x34f8520) at /usr/src/debug/qtbase/5.12.1+gitAUTOINC+0c49815333-r0/git/src/corelib/thread/qthread_unix.cpp:361
      thr = 0x34f8520
      data = <optimized out>
      __clframe = {__cancel_routine = 0x7fad1d24f0 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x34f8520, __do_it = 1, __cancel_type = <optimized out>}
      #24 0x0000007fae3c6fb8 in start_thread (arg=0x7fae3eb000 <__pthread_keys+15728>) at /usr/src/debug/glibc/2.25-r0/git/nptl/pthread_create.c:458
      pd = 0x7fae3eb000 <__pthread_keys+15728>
      unwind_buf = {cancel_jmp_buf = {{jmp_buf = {545600483664, 549394205680, 549394205454, 549394205455, 548384190464, 548365217824, 0, 1, 545600483664, 34218816, 545600481600, 15523388668821766498,
      0, 15523388670460348334, 4609434218613702656, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
      not_first_call = <optimized out>
      pagesize_m1 = <optimized out>
      sp = <optimized out>
      freesize = <optimized out>
      __PRETTY_FUNCTION__ = "start_thread"
      #25 0x0000007face0152c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:84
      

       

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

            tpochep Timur Pocheptsov
            anton-i Anton Indrawan
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes