After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 737958 - gnome-shell peak CPU load on activities screen
gnome-shell peak CPU load on activities screen
Status: RESOLVED OBSOLETE
Product: gnome-shell
Classification: Core
Component: general
3.14.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2014-10-05 21:25 UTC by Mikhail
Modified: 2021-07-05 14:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backtraces of gnome-shell (1.14 KB, application/x-gzip)
2014-10-05 21:25 UTC, Mikhail
Details
strace -f -s 256 -p 2134 (489.69 KB, application/x-gzip)
2014-10-26 19:17 UTC, Mikhail
Details
strace of gnome shell (133.00 KB, application/x-gzip)
2014-12-05 16:25 UTC, Mikhail
Details

Description Mikhail 2014-10-05 21:25:01 UTC
Created attachment 287779 [details]
backtraces of gnome-shell

Demonstration: https://drive.google.com/file/d/0B0nwzlfiB4aQRU4wOUtPV2RHdHc/view?usp=sharing

Also I attach backtraces of gnome-shell when CPU load was be anomalously high. And it continues before I relaunch Mozilla Firefox (very strange)


CPU: Core i7 Haswell
Video: HD Graphics 4600
Comment 1 Owen Taylor 2014-10-06 12:48:22 UTC
- What exact version of GNOME Shell?

- What operating system?

- Can you make your terminal font really big, and see if the gnome-shell CPU load is high when you are *inside* the overview, or only when you are animating too and from the overview.

- Can you manage to get debug symbols installed on your system? That would make backtraces like the backtraces you provided more useful (for other people's reference, one backtrace shows gnome-shell inside meta_window_actor_pre_paint(), the other backtrace shows gnome-shell idle)

- The 'perf' performance framework may provide an easier way to get an idea of what is going on in gnome-shell when the CPU load spikes.
Comment 2 Mikhail 2014-10-06 12:53:13 UTC
(In reply to comment #1)
> - What exact version of GNOME Shell?

3.14

> 
> - What operating system?

Fedora 21 x86_64

> 
> - Can you make your terminal font really big, and see if the gnome-shell CPU
> load is high when you are *inside* the overview, or only when you are animating too and from the overview.

With flash you can see demo with full HD a don't know why Google restrict quality of html5 video :( 


> - Can you manage to get debug symbols installed on your system? That would make backtraces like the backtraces you provided more useful (for other people's
> reference, one backtrace shows gnome-shell inside
> meta_window_actor_pre_paint(), the other backtrace shows gnome-shell idle)

$ rpm -qa | grep gnome-shell
gnome-shell-extension-launch-new-instance-3.14.0-1.fc21.noarch
gnome-shell-extension-apps-menu-3.14.0-1.fc21.noarch
gnome-shell-3.14.0-2.fc21.x86_64
gnome-shell-extension-common-3.14.0-1.fc21.noarch
gnome-shell-extension-places-menu-3.14.0-1.fc21.noarch
gnome-shell-debuginfo-3.14.0-2.fc21.x86_64
gnome-shell-extension-alternate-tab-3.14.0-1.fc21.noarch
gnome-shell-extension-window-list-3.14.0-1.fc21.noarch


> 
> - The 'perf' performance framework may provide an easier way to get an idea of
> what is going on in gnome-shell when the CPU load spikes.

Thanks I am would learn 'perf'
Comment 3 Owen Taylor 2014-10-06 20:05:58 UTC
(In reply to comment #2)
> > - Can you manage to get debug symbols installed on your system? That would make backtraces like the backtraces you provided more useful (for other people's
> > reference, one backtrace shows gnome-shell inside
> > meta_window_actor_pre_paint(), the other backtrace shows gnome-shell idle)
> 
> $ rpm -qa | grep gnome-shell
> gnome-shell-extension-launch-new-instance-3.14.0-1.fc21.noarch
> gnome-shell-extension-apps-menu-3.14.0-1.fc21.noarch
> gnome-shell-3.14.0-2.fc21.x86_64
> gnome-shell-extension-common-3.14.0-1.fc21.noarch
> gnome-shell-extension-places-menu-3.14.0-1.fc21.noarch
> gnome-shell-debuginfo-3.14.0-2.fc21.x86_64
> gnome-shell-extension-alternate-tab-3.14.0-1.fc21.noarch
> gnome-shell-extension-window-list-3.14.0-1.fc21.noarch

gnome-shell-debuginfo is only one piece; you need to run 'debuginfo-install gnome-shell' on Fedora to get all the dependent libraries, such as mutter, clutter, etc.
Comment 4 Mikhail 2014-10-07 18:54:38 UTC
(In reply to comment #3)
> gnome-shell-debuginfo is only one piece; you need to run 'debuginfo-install
> gnome-shell' on Fedora to get all the dependent libraries, such as mutter,
> clutter, etc.

Ok, which information you interested to see via 'perf'?
Comment 5 Mikhail 2014-10-26 19:15:26 UTC
[mikhail@localhost ~]$ strace -f -s 256 -c -p 2134
Process 2134 attached with 7 threads
^CProcess 2134 detached
Process 2136 detached
Process 2141 detached
Process 2144 detached
Process 2145 detached
Process 2146 detached
Process 2147 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 77.59    0.741586         126      5863           poll
 20.11    0.192237       96119         2           restart_syscall
  0.84    0.008051           1     12602     10319 recvmsg
  0.60    0.005722           1      5593           ioctl
  0.41    0.003950           1      7247           sendmsg
  0.25    0.002433           1      2781           writev
  0.07    0.000705           1      1340           write
  0.06    0.000565           0      1177       458 read
  0.02    0.000176           1       158        22 futex
  0.01    0.000080           1        69           mmap
  0.01    0.000065           0       132           fstat
  0.01    0.000065           1        89           munmap
  0.00    0.000042           1        66           open
  0.00    0.000032           0        66           fcntl
  0.00    0.000016           0        66           close
  0.00    0.000009           0        24        17 stat
  0.00    0.000000           0         1           mprotect
------ ----------- ----------- --------- --------- ----------------
100.00    0.955734                 37276     10816 total
Comment 6 Mikhail 2014-10-26 19:17:36 UTC
Created attachment 289377 [details]
strace -f -s 256 -p 2134
Comment 7 Mikhail 2014-12-05 16:25:43 UTC
Created attachment 292200 [details]
strace of gnome shell
Comment 8 Mikhail 2014-12-05 16:26:23 UTC
munmap(0x7ff42750e000, 4096)            = 0
recvmsg(5, 0x7fff800f8f00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(10, 0x7fff800f8ee0, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 13) = 1 ([{fd=10, revents=POLLIN}])
read(4, 0x7fff800f9090, 16)             = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff800f8f20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(10, {msg_name(0)=NULL, msg_iov(1)=[{"Z\2\24\223C\0\0\5 \0 \1zAN\5\376\0?\0\330\5\0\1\0\0\33\0\200\7\35\4", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(10, 0x7fff800f8f00, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(10, 0x7fff800f8db0, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff800f8f00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(10, 0x7fff800f8ee0, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 10) = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"#\223+B\0\0\0\0\2\0\0\0001\0\0\1\20\0\0\1\260\265\1\0002\0\0\0013\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 104
recvmsg(5, 0x7fff800f8f20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
recvmsg(5, 0x7fff800f8de0, 0)           = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
recvmsg(5, 0x7fff800f8f00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(10, 0x7fff800f8ee0, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 0) = 1 ([{fd=4, revents=POLLIN}])
recvmsg(5, 0x7fff800f8f20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff800f8f00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(10, 0x7fff800f8ee0, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=33, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=28, events=POLLIN}, {fd=32, events=POLLIN}, {fd=26, events=POLLIN}, {fd=13, events=POLLIN}, {fd=31, events=POLLIN}, {fd=11, events=POLLIN}, {fd=21, events=POLLIN}, {fd=22, events=POLLIN}, {fd=5, events=POLLIN}], 12, 0) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\2\0\0\0\0\0\0\0", 16)         = 8
recvmsg(5, 0x7fff800f8f20, 0)           = -1 EAGAIN (Resource temporarily unavailable)
Comment 9 Daniel van Vugt 2017-06-20 02:05:30 UTC
Duplicate of bug 683204?
Comment 10 GNOME Infrastructure Team 2021-07-05 14:13:15 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of  gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/

Thank you for your understanding and your help.