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