Upstream:
https://gitlab.gnome.org/GNOME/gnome-shell/issues/64
---
gnome-shell's RSS is growing by 1 MiB every few minutes, and is now at almost 2 GiB.
user 3039 1.8 16.1 4302340 1968476 tty2 Sl+ Mar09 120:17 /usr/bin/gnome-shell
strace output is voluminous; here is a representative sample:
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\231\n\10\0\n\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0", 32}], 1) = 32
poll([{fd=5, events=POLLIN}], 1, -1) = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0{\224\0\0\0\0H\0\0\0\0\23\266\32\0\0\0\0\201\242\204\0\0\0\0\0\261.\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, 0x7fff60efac90, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff60efac90, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\212\5\4\0a\2228\0y\3\5\0%\3\27\4\231\6\5\0\n\0 \0a\2228\0\0\0\0\0"..., 36}, {NULL, 0}, {"", 0}], 3) = 36
poll([{fd=5, events=POLLIN}], 1, -1) = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"\1\0}\224\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, 0x7fff60efac90, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\212\n\2\0a\2228\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
recvmsg(5, 0x7fff60efb020, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, 0x7fff60efb000, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN}, {fd=34, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=40, events=POLLIN}, {fd=42, events=POLLIN}, {fd=43, events=POLLIN}], 15, 0) = 0 (Timeout)
recvmsg(5, 0x7fff60efb040, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff60efb020, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, 0x7fff60efb000, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN}, {fd=34, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=40, events=POLLIN}, {fd=42, events=POLLIN}, {fd=43, events=POLLIN}], 15, 0) = 0 (Timeout)
recvmsg(5, 0x7fff60efb040, 0) = -1 EAGAIN (Resource temporarily unavailable)
open("/proc/self/stat", O_RDONLY) = 36
fstat(36, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
fcntl(36, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(36, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(36, "3039 (gnome-shell) R 2930 2917 2"..., 4096) = 354
read(36, "", 3072) = 0
close(36) = 0
recvmsg(5, 0x7fff60efb020, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, 0x7fff60efb000, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN}, {fd=34, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=40, events=POLLIN}, {fd=42, events=POLLIN}, {fd=43, events=POLLIN}], 15, 117885) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\1\0\0\0\0\0\0\0", 16) = 8
recvmsg(5, 0x7fff60efb040, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff60efb020, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, {msg_name(0)=NULL, msg_iov(1)=[{"[\2\327&h\0@\0i\0@\0(nu\22\n\0I\0\336\2\232\1\265\0038\2\362\2\355\1", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(12, 0x7fff60efb000, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN}, {fd=34, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=40, events=POLLIN}, {fd=42, events=POLLIN}, {fd=43, events=POLLIN}], 15, 0) = 0 (Timeout)
recvmsg(5, 0x7fff60efb040, 0) = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\1\0\0\0\0\0\0\0", 8) = 8
recvmsg(12, 0x7fff60efaed0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, 0x7fff60efb020, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, 0x7fff60efb000, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN}, {fd=34, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=40, events=POLLIN}, {fd=42, events=POLLIN}, {fd=43, events=POLLIN}], 15, 0) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\1\0\0\0\0\0\0\0", 16) = 8
recvmsg(5, 0x7fff60efb040, 0) = -1 EAGAIN (Resource temporarily unavailable)
open("/proc/self/stat", O_RDONLY) = 36
fstat(36, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
fcntl(36, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(36, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(36, "3039 (gnome-shell) R 2930 2917 2"..., 4096) = 354
read(36, "", 3072) = 0
close(36) = 0
recvmsg(5, 0x7fff60efb020, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, 0x7fff60efb000, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=26, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN}, {fd=34, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=40, events=POLLIN}, {fd=42, events=POLLIN}, {fd=43, events=POLLIN}], 15, 1) = 0 (Timeout)
recvmsg(5, 0x7fff60efb040, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"\217\3\4\0i\0@\0\0\0\0\0\0\0\0\0+\0\1\0", 20}, {NULL, 0}, {"", 0}], 3) = 20
poll([{fd=12, events=POLLIN}], 1, -1) = 1 ([{fd=12, revents=POLLIN}])
recvmsg(12, {msg_name(0)=NULL, msg_iov(1)=[{"\1\2\331&\0\0\0\0\250\0`\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(12, 0x7fff60efaf60, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, 0x7fff60efaf60, 0) = -1 EAGAIN (Resource temporarily unavailable)
ioctl(6, DRM_IOCTL_I915_GEM_MADVISE, 0x7fff60efa960) = 0
ioctl(6, DRM_IOCTL_I915_GEM_BUSY, 0x7fff60efa910) = 0
ioctl(6, DRM_IOCTL_I915_GEM_MADVISE, 0x7fff60efa900) = 0
ioctl(6, DRM_IOCTL_I915_GEM_PWRITE, 0x7fff60efa9b0) = 0
ioctl(6, DRM_IOCTL_I915_GEM_BUSY, 0x7fff60efac50) = 0
ioctl(6, DRM_IOCTL_I915_GEM_SET_DOMAIN, 0x7fff60efaba0) = 0
ioctl(6, DRM_IOCTL_I915_GEM_SW_FINISH, 0x7fff60efad30) = 0
ioctl(6, DRM_IOCTL_I915_GEM_SW_FINISH, 0x7fff60efae30) = 0
ioctl(6, _IOC(_IOC_READ|_IOC_WRITE, 0x64, 0x69, 0x40), 0x7fff60efadb0) = 0
ioctl(6, DRM_IOCTL_I915_GEM_SET_DOMAIN, 0x7fff60efae30) = 0
ioctl(6, DRM_IOCTL_I915_GEM_MADVISE, 0x7fff60efadb0) = 0
ioctl(6, DRM_IOCTL_I915_GEM_BUSY, 0x7fff60efad80) = 0
ioctl(6, DRM_IOCTL_I915_GEM_MADVISE, 0x7fff60efad70) = 0
ioctl(6, DRM_IOCTL_I915_GEM_SET_DOMAIN, 0x7fff60efad90) = 0
ioctl(6, DRM_IOCTL_I915_GEM_SET_DOMAIN, 0x7fff60efae90) = 0
ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: gnome-shell 3.23.91-0ubuntu4
ProcVersionSignature: Ubuntu 4.10.0-11.13-generic 4.10.1
Uname: Linux 4.10.0-11-generic x86_64
ApportVersion: 2.20.4-0ubuntu2
Architecture: amd64
Date: Mon Mar 13 19:17:51 2017
DisplayManager: gdm3
InstallationDate: Installed on 2016-12-02 (100 days ago)
InstallationMedia: Ubuntu-GNOME 16.10 "Yakkety Yak" - Release amd64 (20161012.1)
ProcEnviron:
LANGUAGE=en_AU:en
TERM=xterm-256color
PATH=(custom, no user)
LANG=en_AU.UTF-8
SHELL=/bin/bash
SourcePackage: gnome-shell
UpgradeStatus: No upgrade log present (probably fresh install)
Can you reproduce this now? There have been several 3.23.92 updates this week (in particular gjs) that might have helped with this bug.