[kontact] [Bug 420075] New: KMail/Kontact extremely slow to reply to long email thread
Aaron Williams
bugzilla_noreply at kde.org
Tue Apr 14 11:28:28 BST 2020
https://bugs.kde.org/show_bug.cgi?id=420075
Bug ID: 420075
Summary: KMail/Kontact extremely slow to reply to long email
thread
Product: kontact
Version: unspecified
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: mail
Assignee: kdepim-bugs at kde.org
Reporter: aaronw at doofus.org
Target Milestone: ---
SUMMARY
On a number of email threads when I open them to reply KMail will freeze for
many minutes consuming 100% of the CPU. Eventually it will unfreeze and I can
type a little, but it very frequently freezes. These freezes can last for many
minutes.
This is on a 12 core Threadripper system with 96GB of RAM and a SSD.
STEPS TO REPRODUCE
1. Reply to a long email involved in a long thread
2. Wait
3. Wait
Do some stuff until it freezes again (it doesn't take much)
OBSERVED RESULT
EXPECTED RESULT
There should be no long freezes or hangs like I am experiencing.
SOFTWARE/OS VERSIONS
Windows:
macOS:
Linux/KDE Plasma: OpenSUSE 15.1
(available in About System)
KDE Plasma Version: 5.18.3
KDE Frameworks Version:
Qt Version: 5.14.1
ADDITIONAL INFORMATION
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7fe183b0a980 (LWP 38251) "kontact" 0x00007fe18153bc03
in QFragmentMapData<QTextBlockData>::position (field=0, node=<optimized out>,
this=<optimized out>)
at
../../include/QtGui/5.14.1/QtGui/private/../../../../../src/gui/text/qfragmentmap_p.h:124
2 Thread 0x7fe158a3b700 (LWP 38261) "QXcbEventQueue" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe158a3ab38, nfds=1, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
3 Thread 0x7fe14e47d700 (LWP 38273) "QDBusConnection" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe14801d200, nfds=10, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
4 Thread 0x7fe147743700 (LWP 38290) "sandbox_ipc_thr" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe147742ab0, nfds=2, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
5 Thread 0x7fe146f42700 (LWP 38297) "kontact" 0x00007fe1802e62f7
in __GI___waitpid (
pid=38293, stat_loc=0x7fe146f41c1c, options=0) at
../sysdeps/unix/sysv/linux/waitpid.c:29
6 Thread 0x7fe146741700 (LWP 38298) "ThreadPoolServi" 0x00007fe180319056
in __GI_epoll_pwait (
epfd=34, events=events at entry=0x7fe130002000, maxevents=32,
timeout=timeout at entry=2100000,
set=set at entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
7 Thread 0x7fe14573f700 (LWP 38300) "Chrome_IOThread" 0x00007fe180319056
in __GI_epoll_pwait (
epfd=35, events=events at entry=0x7fe134001fc0, maxevents=32,
timeout=timeout at entry=-1,
set=set at entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
8 Thread 0x7fe12f7fe700 (LWP 38304) "inotify_reader" 0x00007fe180310513
in __GI___select (
nfds=45, readfds=0x7fe12f7fdb50, writefds=0x0, exceptfds=0x0, timeout=0x0)
at ../sysdeps/unix/sysv/linux/select.c:41
9 Thread 0x7fe12d7fa700 (LWP 38309) "CompositorTileW" 0x00007fe17c03b87d
in futex_wait_cancelable (
private=<optimized out>, expected=0, futex_word=0x5556f21c5328)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
10 Thread 0x7fe12cff9700 (LWP 38310) "VideoCaptureThr" 0x00007fe17c03b87d
in futex_wait_cancelable (
private=<optimized out>, expected=0, futex_word=0x7fe12cff8a38)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
11 Thread 0x7fe10ffff700 (LWP 38311) "Chrome_InProcGp" 0x00007fe17c03bbab
in futex_reltimed_wait_cancelable (private=<optimized out>,
reltime=0x7fe10fffe860, expected=0, futex_word=0x7fe10fffea28)
at ../sysdeps/unix/sysv/linux/futex-internal.h:142
12 Thread 0x7fe10f7fe700 (LWP 38312) "Chrome_ChildIOT" 0x00007fe180319056
in __GI_epoll_pwait (
epfd=48, events=events at entry=0x7fe104002000, maxevents=32,
timeout=timeout at entry=-1,
set=set at entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
13 Thread 0x7fe10e3a0700 (LWP 38328) "CacheThread_Blo" 0x00007fe180319056
in __GI_epoll_pwait (
epfd=71, events=events at entry=0x7fe0f8002000, maxevents=32,
timeout=timeout at entry=-1,
set=set at entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
14 Thread 0x7fe10db9f700 (LWP 38329) "ThreadPoolSingl" 0x00007fe17c03b87d
in futex_wait_cancelable (
private=<optimized out>, expected=0, futex_word=0x7fe10db9eb18)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
15 Thread 0x7fe10d39e700 (LWP 38344) "VizCompositorTh" 0x00007fe17c03b87d
in futex_wait_cancelable (
private=<optimized out>, expected=0, futex_word=0x7fe10d39da38)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
16 Thread 0x7fe0ea53a700 (LWP 38350) "Qt bearer threa" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe0e4004a30, nfds=1, timeout=9983) at
../sysdeps/unix/sysv/linux/poll.c:29
17 Thread 0x7fe0e96ad700 (LWP 38355) "SessionThread" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe0dc004e30, nfds=3, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
18 Thread 0x7fe0e8eac700 (LWP 38360) "SessionThread" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe0e005fe30, nfds=11, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
19 Thread 0x7fe0d5c0a700 (LWP 38385) "kontact" 0x00007fe18030a198
in __GI___libc_read (
fd=91, buf=0x5556f261a2e3, nbytes=1) at
../sysdeps/unix/sysv/linux/read.c:26
20 Thread 0x7fe0caebc700 (LWP 38493) "SessionThread" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe0c4004a30, nfds=3, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
21 Thread 0x7fe0c2832700 (LWP 38608) "QThread" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe0bc004e30, nfds=1, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
22 Thread 0x7fe0c2031700 (LWP 38609) "QLibProxyWrappe" syscall ()
at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
23 Thread 0x7fe12effd700 (LWP 47388) "ThreadPoolSingl" 0x00007fe17c03b87d
in futex_wait_cancelable (
private=<optimized out>, expected=0, futex_word=0x7fe12effcb18)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
24 Thread 0x7fe12ffff700 (LWP 85211) "SessionThread" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe12800d2d0, nfds=2, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
25 Thread 0x7fe144f3e700 (LWP 128957) "SessionThread" 0x00007fe18030e69b
in __GI___poll (
fds=0x7fe118006760, nfds=3, timeout=-1) at
../sysdeps/unix/sysv/linux/poll.c:29
26 Thread 0x7fe12dffb700 (LWP 97005) "ThreadPoolForeg" 0x00007fe17c03bbab
in futex_reltimed_wait_cancelable (private=<optimized out>,
reltime=0x7fe12dffa940, expected=0, futex_word=0x7fe12dffab08)
at ../sysdeps/unix/sysv/linux/futex-internal.h:142
Backtrace of thread 1:
#0 0x00007fe18153bc03 in QFragmentMapData<QTextBlockData>::position(unsigned
int, unsigned int) const
(field=0, node=<optimized out>, this=<optimized out>)
at
../../include/QtGui/5.14.1/QtGui/private/../../../../../src/gui/text/qfragmentmap_p.h:124
#1 0x00007fe18153bc03 in QFragmentMap<QTextBlockData>::position(unsigned int,
unsigned int) const
(field=0, node=22421, this=<optimized out>)
at
../../include/QtGui/5.14.1/QtGui/private/../../../../../src/gui/text/qfragmentmap_p.h:857
#2 0x00007fe18153bc03 in QTextBlock::position() const
(this=this at entry=0x7ffdb9b276e0)
at text/qtextobject.cpp:1036
#3 0x00007fe18153c019 in QTextBlock::textDirection() const
(this=this at entry=0x7ffdb9b276e0)
at text/qtextobject.cpp:1186
#4 0x00007fe18157364a in QTextDocumentLayoutPrivate::layoutBlock(QTextBlock
const&, int, QTextBlockFormat const&, QTextLayoutStruct*, int, int,
QTextBlockFormat const*)
(this=this at entry=0x555703446180, bl=...,
blockPosition=blockPosition at entry=465160, blockFormat=...,
layoutStruct=layoutStruct at entry=0x7ffdb9b27860,
layoutFrom=layoutFrom at entry=150242, layoutTo=150257,
previousBlockFormat=0x7ffdb9b276d0) at text/qtextdocumentlayout.cpp:3454
#5 0x00007fe181575084 in
QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::iterator,
QTextLayoutStruct*, int, int, QFixed)
(this=this at entry=0x555703446180, it=...,
layoutStruct=layoutStruct at entry=0x7ffdb9b27860,
layoutFrom=layoutFrom at entry=150242, layoutTo=layoutTo at entry=150257, width=...,
width at entry=...)
at text/qtextdocumentlayout.cpp:3304
#6 0x00007fe18157b758 in QTextDocumentLayoutPrivate::layoutFrame(QTextFrame*,
int, int, QFixed, QFixed, QFixed)
(this=this at entry=0x555703446180, f=f at entry=0x55570b04d800,
layoutFrom=layoutFrom at entry=150242, layoutTo=layoutTo at entry=150257,
frameWidth=..., frameWidth at entry=..., frameHeight=..., parentY=...)
at text/qtextdocumentlayout.cpp:3045
#7 0x00007fe18157bd60 in QTextDocumentLayoutPrivate::layoutFrame(QTextFrame*,
int, int, QFixed)
(this=this at entry=0x555703446180, f=f at entry=0x55570b04d800,
layoutFrom=layoutFrom at entry=150242, layoutTo=layoutTo at entry=150257,
parentY=..., parentY at entry=...) at text/qtextdocumentlayout.cpp:2935
#8 0x00007fe18157bf98 in QTextDocumentLayout::doLayout(int, int, int)
(this=this at entry=0x5557086866f0, from=from at entry=150242,
oldLength=oldLength at entry=15, length=length at entry=15) at
text/qtextdocumentlayout.cpp:3851
#9 0x00007fe18157c8eb in QTextDocumentLayout::documentChanged(int, int, int)
(this=0x5557086866f0, from=150242, oldLength=15, length=15) at
text/qtextdocumentlayout.cpp:3814
#10 0x00007fe18154125d in QTextDocument::markContentsDirty(int, int)
(this=this at entry=0x555707bc6590, from=<optimized out>,
length=length at entry=15)
at text/qtextdocument.cpp:644
#11 0x00007fe18159c714 in QSyntaxHighlighterPrivate::applyFormatChanges()
(this=this at entry=0x555707bd5590) at text/qsyntaxhighlighter.cpp:155
#12 0x00007fe18159d118 in QSyntaxHighlighterPrivate::reformatBlock(QTextBlock
const&)
(this=this at entry=0x555707bd5590, block=...) at
text/qsyntaxhighlighter.cpp:203
#13 0x00007fe18159d2b0 in QSyntaxHighlighterPrivate::reformatBlocks(int, int,
int)
(this=this at entry=0x555707bd5590, from=from at entry=0,
charsRemoved=charsRemoved at entry=0, charsAdded=995149) at
text/qsyntaxhighlighter.cpp:183
#14 0x00007fe18159d67f in QSyntaxHighlighterPrivate::rehighlight(QTextCursor&,
QTextCursor::MoveOperation) (operation=QTextCursor::End, cursor=...,
this=0x555707bd5590) at text/qsyntaxhighlighter.cpp:78
#15 0x00007fe18159d67f in QSyntaxHighlighter::rehighlight() (this=<optimized
out>)
at text/qsyntaxhighlighter.cpp:379
#16 0x00007fe16a9403dd in Sonnet::Highlighter::slotRehighlight() () at
/usr/lib64/libKF5SonnetUi.so.5
#17 0x00007fe180e634d9 in doActivate<false>(QObject*, int, void**)
(sender=0x55570769ca40, signal_index=3, argv=0x7ffdb9b27e20) at
kernel/qobject.cpp:3882
#18 0x00007fe180e5dfb2 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**)
(sender=sender at entry=0x55570769ca40, m=m at entry=0x7fe1812e4cc0
<QTimer::staticMetaObject>, local_signal_index=local_signal_index at entry=0,
argv=argv at entry=0x7ffdb9b27e20) at kernel/qobject.cpp:3930
#19 0x00007fe180e672b7 in QTimer::timeout(QTimer::QPrivateSignal)
(this=this at entry=0x55570769ca40, _t1=...) at .moc/moc_qtimer.cpp:205
#20 0x00007fe180e67618 in QTimer::timerEvent(QTimerEvent*)
(this=0x55570769ca40, e=<optimized out>)
at kernel/qtimer.cpp:257
#21 0x00007fe180e5b503 in QObject::event(QEvent*) (this=0x55570769ca40,
e=0x7ffdb9b28180)
at kernel/qobject.cpp:1361
#22 0x00007fe181d2fb5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this at entry=0x5556f1e3b3b0, receiver=receiver at entry=0x55570769ca40,
e=e at entry=0x7ffdb9b28180)
at kernel/qapplication.cpp:3684
#23 0x00007fe181d36d60 in QApplication::notify(QObject*, QEvent*)
(this=0x7ffdb9b28500, receiver=0x55570769ca40, e=0x7ffdb9b28180) at
kernel/qapplication.cpp:3430
#24 0x00007fe180e284c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55570769ca40, event=0x7ffdb9b28180) at
kernel/qcoreapplication.cpp:1092
#25 0x00007fe180e86c59 in QTimerInfoList::activateTimers()
(this=0x5556f1e90fe0)
at kernel/qtimerinfo_unix.cpp:643
#26 0x00007fe180e87421 in timerSourceDispatch(GSource*, GSourceFunc, gpointer)
(source=<optimized out>)
at kernel/qeventdispatcher_glib.cpp:183
#27 0x00007fe179c61e87 in g_main_dispatch (context=0x7fe154004fd0) at
gmain.c:3142
#28 0x00007fe179c61e87 in g_main_context_dispatch
(context=context at entry=0x7fe154004fd0) at gmain.c:3795
#29 0x00007fe179c62230 in g_main_context_iterate
(context=context at entry=0x7fe154004fd0, block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3868
#30 0x00007fe179c622bc in g_main_context_iteration (context=0x7fe154004fd0,
may_block=may_block at entry=1)
at gmain.c:3929
#31 0x00007fe180e877cc in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5556f1eaa880, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#32 0x00007fe180e26d4a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this at entry=0x7ffdb9b283d0, flags=..., flags at entry=...) at
kernel/qeventloop.cpp:225
#33 0x00007fe180e304c0 in QCoreApplication::exec() () at
kernel/qcoreapplication.cpp:1400
#34 0x00005556f1ade785 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>)
at /usr/src/debug/kontact-19.12.3-lp151.117.1.x86_64/src/main.cpp:229
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Kdepim-bugs
mailing list