TB 68 on Ubuntu 18.04 and 20.04: Somtimes high CPU load and process still there after close
Categories
(Thunderbird :: Untriaged, defect)
Tracking
(Not tracked)
People
(Reporter: admin, Unassigned)
References
(Depends on 1 open bug)
Details
(Keywords: perf, Whiteboard: [dupme])
Attachments
(2 files)
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Steps to reproduce:
Nothing special, getting mail, sending mail.
Actual results:
I use Thunderbird for years now. For some years now, on Ubuntu 18.04 and 20.04 with Unity/Gnome, CPU load sometimes goes up. Htop shows two CPU cores at around 100% load. After I close TB, the situation doesn't change. I have to "killall thunderbird" to solve the problem. So the problem already exists for some versions of Thunderbird.
Expected results:
CPU load shouldn't go up. And if it does, Thunderbird should close if user uses "Close" button.
Comment 2•4 years ago
|
||
A starting point is to look at tools > activity manager
According to the activity manager, TB was downloading "Sent messages". But all messages were already there.
Comment 4•4 years ago
|
||
Reporter, does this happen for you when using version 78? You can update by going to help > about.
Comment 5•4 years ago
|
||
Reporter, are you using the distributions build of Thunderbird 68.10.0, or one you installed from Thunderbird?
Help > About won't work for you if you are using the distro build.
I can't reproduce your problem on Ubuntu 18.04 LTS using the distros 68.10.0.
Always distro build, right now 68.10.0 on 20.04. What else can I do if this problem occurs?
I attached a picture. After wakeup from suspend to RAM there are two TB processes running with about 100 percent on two processor cores. One process is sleeping (S), one is running (R).
I will attach some log excerpts, maybe this helps somehow. This is strace on the sleeping process (191905):
strace: Process 191905 attached
restart_syscall(<... resuming interrupted read ...>) = 1
read(37, "\372", 1) = 1
poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4, [{iov_base="\220\1\2\0Q\2\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=4, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3\273\222\0\0\0\0P\2\0\0\0\0\0\0\200\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
futex(0x7f650390b400, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f650390b3a8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f6502f9f930, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f650390b404, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f650390b3a8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f650390b400, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f650390b3a8, FUTEX_WAKE_PRIVATE, 1) = 1
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, -1) = 1 ([{fd=37, revents=POLLIN}])
read(37, "\372", 1) = 1
poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
writev(4, [{iov_base="\220\1\2\0Q\2\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=4, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\3\274\222\0\0\0\0P\2\0\0\0\0\0\0\302\v\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
futex(0x7f650390b404, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f650390b3a8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f6502f9f934, FUTEX_WAKE_PRIVATE, 1) = 1
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
recvmsg(4, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=37, events=POLLIN}], 4, -1) = 1 ([{fd=37, revents=POLLIN}])
read(37, "\372", 1) = 1
...
This is strace on the running process (191925):
poll([{fd=24, events=POLLIN|POLLPRI}, {fd=118, events=POLLIN|POLLPRI}, {fd=116, events=POLLIN|POLLPRI}, {fd=148, events=POLLIN|POLLPRI}, {fd=124, events=POLLIN|POLLPRI}, {fd=123, events=POLLIN|POLLPRI}, {fd=122, events=POLLIN|POLLPRI}, {fd=100, events=POLLIN|POLLPRI}, {fd=96, events=POLLIN|POLLPRI}, {fd=78, events=POLLIN|POLLPRI}, {fd=129, events=POLLIN|POLLPRI}, {fd=120, events=POLLIN|POLLPRI}, {fd=132, events=POLLIN|POLLPRI}], 13, 0) = 0 (Timeout)
poll([{fd=24, events=POLLIN|POLLPRI}, {fd=118, events=POLLIN|POLLPRI}, {fd=116, events=POLLIN|POLLPRI}, {fd=148, events=POLLIN|POLLPRI}, {fd=124, events=POLLIN|POLLPRI}, {fd=123, events=POLLIN|POLLPRI}, {fd=122, events=POLLIN|POLLPRI}, {fd=100, events=POLLIN|POLLPRI}, {fd=96, events=POLLIN|POLLPRI}, {fd=78, events=POLLIN|POLLPRI}, {fd=129, events=POLLIN|POLLPRI}, {fd=120, events=POLLIN|POLLPRI}, {fd=132, events=POLLIN|POLLPRI}], 13, 0) = 0 (Timeout)
poll([{fd=24, events=POLLIN|POLLPRI}, {fd=118, events=POLLIN|POLLPRI}, {fd=116, events=POLLIN|POLLPRI}, {fd=148, events=POLLIN|POLLPRI}, {fd=124, events=POLLIN|POLLPRI}, {fd=123, events=POLLIN|POLLPRI}, {fd=122, events=POLLIN|POLLPRI}, {fd=100, events=POLLIN|POLLPRI}, {fd=96, events=POLLIN|POLLPRI}, {fd=78, events=POLLIN|POLLPRI}, {fd=129, events=POLLIN|POLLPRI}, {fd=120, events=POLLIN|POLLPRI}, {fd=132, events=POLLIN|POLLPRI}], 13, 0) = 0 (Timeout)
poll([{fd=24, events=POLLIN|POLLPRI}, {fd=118, events=POLLIN|POLLPRI}, {fd=116, events=POLLIN|POLLPRI}, {fd=148, events=POLLIN|POLLPRI}, {fd=124, events=POLLIN|POLLPRI}, {fd=123, events=POLLIN|POLLPRI}, {fd=122, events=POLLIN|POLLPRI}, {fd=100, events=POLLIN|POLLPRI}, {fd=96, events=POLLIN|POLLPRI}, {fd=78, events=POLLIN|POLLPRI}, {fd=129, events=POLLIN|POLLPRI}, {fd=120, events=POLLIN|POLLPRI}, {fd=132, events=POLLIN|POLLPRI}], 13, 0) = 0 (Timeout)
...
Reporter | ||
Comment 10•4 years ago
|
||
The bug is still there, its Thunderbird 68.10.0 now. Anything else I can do?
Comment 11•4 years ago
|
||
(In reply to Kris from comment #10)
The bug is still there, its Thunderbird 68.10.0 now. Anything else I can do?
Close Thunderbird and reboot your computer.
You could have extensions that are leaking memory and using CPU cycles when in sleep mode.
I can't reproduce your problem with any version of Thunderbird I have on my system including Ubuntu's outdated 68.10.0 version.
Reporter | ||
Comment 13•4 years ago
|
||
Of course I can "killall thunderbird" but that does not solve the problem. The question is, what can I do to analyze the cause? Is there a tool that helps?
Comment 14•4 years ago
|
||
(In reply to Kris from comment #13)
The question is, what can I do to analyze the cause? Is there a tool that helps?
If it hasn't hung, you could get a performance profile https://support.mozilla.org/en-US/kb/profiling-thunderbird-performance
Perhaps you can draw inspiration from these other bug reports https://bugzilla.mozilla.org/buglist.cgi?quicksearch=561272%201549978%201632902%201633243%201652878%201675407%201677380%20&list_id=15504525
Updated•4 years ago
|
Comment 15•3 years ago
|
||
Can you get a performance profile, using a Thunderbird supplied build from thunderbird.net ?
Comment 16•3 years ago
|
||
Updated•3 years ago
|
Description
•