microsoft teams using 100% cpu on Ubuntu

I am on Ubuntu 20.04 and teams is using 100% cpu

/usr/share/teams/teams

dpkg -l|grep teams
ii  teams          1.3.00.30857    amd64   Microsoft Teams for Linux is your chat-centered workspace in Office 365.

above is early days of me using Teams here is current version as of 20210818

dpkg -l|grep teams
ii  teams                                      1.4.00.13653                        amd64        Microsoft Teams for Linux is your chat-centered workspace in Office 365.

same ongoing issue happening throughout above versions ... are other people seeing this ?

top - 11:24:26 up  3:55,  1 user,  load average: 1.83, 1.57, 1.33
Tasks: 354 total,   1 running, 353 sleeping,   0 stopped,   0 zombie
%Cpu(s): 17.0 us, 13.5 sy,  0.1 ni, 69.4 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  15893.5 total,   1424.3 free,   7180.4 used,   7288.9 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   6729.6 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                         
  27846 anna      20   0 3014232 131884 102072 S 120.6   0.8   5:03.15 teams                                                                                                           
   1752 anna      20   0 4438336 303944 108012 S   1.7   1.9  15:42.41 gnome-shell                                                                                                     
   1512 anna       9 -11 3653996  20400  15720 S   1.3   0.1   0:58.41 pulseaudio                                                                                                      
  32232 anna      20   0 2754296 289024 124560 S   1.0   1.8   0:46.10 Isolated Web Co                                                                                                 
  16297 anna      20   0 4758900 245460 101260 S   0.7   1.5   6:52.09 chrome                                                                                                          
  27688 anna      20   0 1109772 111968  81288 S   0.7   0.7   2:55.84 teams                                                                                                           
  27775 anna      20   0 2584688 475868  94868 S   0.7   2.9   3:55.18 teams                                                                                                           
   1606 anna      20   0 1220192  99084  49884 S   0.3   0.6   8:30.43 Xorg                                                                                                            
   1935 anna      20   0 2679716 147892  98468 S   0.3   0.9   0:58.13 skypeforlinux                                                                                                   
   2060 anna      20   0 1095820 108684  80692 S   0.3   0.7   6:15.92 skypeforlinux                                                                                                   
   2088 anna      20   0 3179048 289952 122348 S   0.3   1.8   6:25.76 skypeforlinux                                                                                                   
   4111 anna      20   0 1237472 244936  55180 S   0.3   1.5   0:52.64 megasync                                                                                                        
   6198 anna      20   0 4280168 590436 314640 S   0.3   3.6   7:13.98 firefox-bin                                                                                                     
   6553 anna      20   0 2840112 294068 149752 S   0.3   1.8   4:08.49 Isolated Web Co                                                                                                 
   8835 anna      20   0 1461348 422140 140284 S   0.3   2.6   6:02.80 brave                          

I am able to interact with the teams chat so teams is responsive yet somehow in a CPU spin loop

although a trace on one of its pids ( the one appearing in top ) is not spitting out anything rapidly

anna@oaxaca ~ $ sudo strace -p 27846
strace: Process 27846 attached
restart_syscall(<... resuming interrupted read ...>) = -1 ETIMEDOUT (Connection timed out)
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffe6c7b5028, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=14261, tv_nsec=978660516}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0
sendto(29, "\230\0\0\0\20\0\1\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 152, MSG_NOSIGNAL, NULL, 0) = 152
futex(0x7ffe6c7b5028, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=14262, tv_nsec=221271447}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0
mmap(0x1bef184c0000, 262144, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x1bef184c0000
mprotect(0x1bef184c0000, 262144, PROT_READ|PROT_WRITE) = 0
mmap(0x7b37b080000, 262144, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b37b080000
mprotect(0x7b37b080000, 262144, PROT_READ|PROT_WRITE) = 0
mmap(0xefce2880000, 262144, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xefce2880000
mprotect(0xefce2880000, 262144, PROT_READ|PROT_WRITE) = 0
mmap(0xc11a4280000, 262144, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc11a4280000
mprotect(0xc11a4280000, 262144, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a02000, 65536, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a42000, 249856, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a82000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6ac2000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6b02000, 4096, PROT_READ|PROT_WRITE) = 0
futex(0x7fb0edd567c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0edd56778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdd740d8, FUTEX_WAKE_PRIVATE, 1) = 1
clone(child_stack=0x7fb0dfffe9f0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[36159], tls=0x7fb0dffff700, child_tidptr=0x7fb0dffff9d0) = 36159
futex(0x55afcdc8c9d8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55afcdc8c9d8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55afcdc8c9d8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55afcdcb53e8, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55afcdcb5398, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55afcdcb53ec, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55afcdcb5398, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fb0edd567c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
mprotect(0x35cba6a02000, 65536, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6a42000, 249856, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6a82000, 4096, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6ac2000, 4096, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6b02000, 4096, PROT_READ|PROT_EXEC) = 0
madvise(0x213202363000, 8192, MADV_DONTNEED) = 0
madvise(0x21320236c000, 77824, MADV_DONTNEED) = 0
madvise(0xb43f55f1000, 57344, MADV_DONTNEED) = 0
madvise(0x1fd2fb1c5000, 106496, MADV_DONTNEED) = 0
madvise(0x2e20b0064000, 8192, MADV_DONTNEED) = 0
madvise(0x2e20b0074000, 45056, MADV_DONTNEED) = 0
madvise(0xaa602485000, 106496, MADV_DONTNEED) = 0
madvise(0x325f2c6c5000, 4096, MADV_DONTNEED) = 0
madvise(0x325f2c6cd000, 73728, MADV_DONTNEED) = 0
madvise(0x2ed00c804000, 110592, MADV_DONTNEED) = 0
madvise(0x325af31c4000, 110592, MADV_DONTNEED) = 0
getpid()                                = 27846
mprotect(0x14c4ccbc0000, 262144, PROT_READ|PROT_WRITE) = 0
mprotect(0x104abac0000, 262144, PROT_READ|PROT_WRITE) = 0
mprotect(0x2b438b540000, 262144, PROT_READ|PROT_WRITE) = 0
mprotect(0x2b62a8a00000, 262144, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a02000, 65536, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a42000, 249856, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a82000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6ac2000, 4096, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6b02000, 4096, PROT_READ|PROT_WRITE) = 0
madvise(0x35cba6a46000, 233472, MADV_DONTNEED) = 0
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0edd567c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0edd56778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdd740d8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdcb5398, FUTEX_WAKE_PRIVATE, 1) = 1
madvise(0x1a9f0fec9000, 225280, MADV_DONTNEED) = 0
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0dfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0dfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdc90fb8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0edd567c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0edd56778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdd740d8, FUTEX_WAKE_PRIVATE, 1) = 1
mprotect(0x35cba6a02000, 65536, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6a42000, 249856, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6a82000, 4096, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6ac2000, 4096, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6b02000, 4096, PROT_READ|PROT_EXEC) = 0
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x2126d281c0a8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x2126d281c0a8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fb0bfffe7c8, FUTEX_WAKE_PRIVATE, 2147483647) = 1
futex(0x7fb0bfffe778, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55afcdca9f68, FUTEX_WAKE_PRIVATE, 1) = 1
getpid()                                = 27846
munmap(0x1bef184c0000, 262144)          = 0
munmap(0x7b37b080000, 262144)           = 0
munmap(0xefce2880000, 262144)           = 0
munmap(0xc11a4280000, 262144)           = 0
mprotect(0x35cba6a42000, 249856, PROT_READ|PROT_WRITE) = 0
madvise(0x35cba6a46000, 233472, MADV_DONTNEED) = 0
mprotect(0x35cba6a42000, 249856, PROT_READ|PROT_EXEC) = 0
mprotect(0x35cba6a02000, 65536, PROT_READ|PROT_WRITE) = 0
mprotect(0x35cba6a02000, 65536, PROT_READ|PROT_EXEC) = 0
futex(0x7ffe6c7b5028, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=14262, tv_nsec=595516247}, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffe6c7b5028, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=14262, tv_nsec=595515690}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffe6c7b5028, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=14267, tv_nsec=595685645}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffe6c7b5028, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=14272, tv_nsec=595856005}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out)
futex(0x7ffe6c7b4fd8, FUTEX_WAKE_PRIVATE, 1) = 0

typically teams is OK until this session ... after bouncing it teams is once again running fine ... I booked this question as a place holder to see of other folks are also seeing teams using 100% of cpu

I was not interacting with teams however there were several chats ongoing but teams was minimized ... there were no video only chats some with links and images

This Teams using 100% CPU error happens about twice every week for past many months ( its now 20210818 )

20210907 happened again today Ubuntu 20.04 ... Microsoft Teams Version 1.4.00.13653 (64-bit).

20210921 happened again today Ubuntu 20.04 ... teams  1.4.00.13653  on my fast Dell laptop which ubuntu build is only 8 days old

Solution 1:

There has now been a client update since the question and original answer.

Updating to the latest version (1.4.00.26453 at the time of writing) seems to solve the CPU issue.