https://bugs.kde.org/show_bug.cgi?id=391718
Bug ID: 391718
Summary: Trojita hangs in infinite loop
Product: trojita
Version: git
Platform: Other
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: Other
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
For unknown reasons trojita hangs in infinite loop on following place:
file trojita/src/Imap/Model/ThreadingMsgListModel.cpp
function ThreadingMsgListModel::handleDataChanged
134 while (rootCandidate.parent().isValid()) {
135 rootCandidate = rootCandidate.parent();
136 }
Adding breakpoint on line 137 proved it, while loop is never finished. GUI is
completely freezed.
What I did? Absolutely nothing, just had opened INBOX and waiting for a new
emails.
Here is gdb backtrace.
(gdb) bt
#0 0x0000555555738820 in QModelIndex::parent (this=0x7fffffffcc60) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:417
#1 Imap::Mailbox::ThreadingMsgListModel::handleDataChanged
(this=0x555555dbb410, topLeft=..., bottomRight=...) at
trojita/src/Imap/Model/ThreadingMsgListModel.cpp:134
#2 0x00007ffff35e595e in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff365c61c in QAbstractItemModel::dataChanged(QModelIndex const&,
QModelIndex const&, QVector<int> const&) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4 0x0000555555718ccf in Imap::Mailbox::MsgListModel::handleDataChanged
(this=0x555555db6a70, topLeft=..., bottomRight=...) at
trojita/src/Imap/Model/MsgListModel.cpp:105
#5 0x00007ffff35e595e in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff365c61c in QAbstractItemModel::dataChanged(QModelIndex const&,
QModelIndex const&, QVector<int> const&) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff365d759 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007ffff35e6499 in QObject::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff3e9cb8c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff3ea4341 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff35b99e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff35bc16d in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff360dc43 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff0b3d7f7 in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff0b3da60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff0b3db0c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff360e04f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff35b79ca in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff35c013c in QCoreApplication::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00005555555c5ce5 in main (argc=<optimized out>, argv=<optimized out>) at
trojita/src/Gui/main.cpp:218
Apparently I cannot debug it as gdb cannot resolve inlined function :-(
(gdb) up
#1 Imap::Mailbox::ThreadingMsgListModel::handleDataChanged
(this=0x555555dbb410, topLeft=..., bottomRight=...) at
trojita/src/Imap/Model/ThreadingMsgListModel.cpp:134
134 while (rootCandidate.parent().isValid()) {
(gdb) print rootCandidate
$1 = {r = 0, c = 0, i = 6899, m = 0x555555dbb410}
(gdb) print rootCandidate.parent
Cannot take address of method parent.
(gdb) print rootCandidate.parent()
Cannot evaluate function -- may be inlined
(gdb) print rootCandidate.parent().isValid()
Cannot evaluate function -- may be inlined
(gdb) print translated
$2 = {r = 2, c = 0, i = 6900, m = 0x555555dbb410}
--
You are receiving this mail because:
You are watching all bug changes.