Details
-
Bug
-
Resolution: Cannot Reproduce
-
Not Evaluated
-
None
-
5.12.1
-
None
Description
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