My efforts from last week ran into a dead end because I can't reproduce
that massive texture leak any more.

I can however still reproduce the original "smaller" leak (0.5-1.0MB per
overview) this bug was about in the first place. And good news:
Upstream's experimental fix seems to work:

https://gitlab.gnome.org/GNOME/gjs/merge_requests/114

** Also affects: gjs (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: gjs (Ubuntu Bionic)
       Status: New => Confirmed

** Changed in: gjs (Ubuntu Bionic)
   Importance: Undecided => High

** Changed in: gnome-shell (Ubuntu Bionic)
     Assignee: Daniel van Vugt (vanvugt) => (unassigned)

** Changed in: mutter (Ubuntu Bionic)
     Assignee: Daniel van Vugt (vanvugt) => (unassigned)

** Description changed:

+ 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
+  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)

** Changed in: gnome-shell (Ubuntu Bionic)
       Status: In Progress => Invalid

** Changed in: mutter (Ubuntu Bionic)
       Status: In Progress => Invalid

** Changed in: gnome-shell (Ubuntu Bionic)
       Status: Invalid => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to mutter in Ubuntu.
https://bugs.launchpad.net/bugs/1672297

Title:
  gnome-shell uses lots of memory, and grows over time

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-shell/+bug/1672297/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to