indicator-session-service consuming resources

Bug #1195595 reported by Haw Loeung
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Session Menu
Fix Released
High
Lars Karlitski
indicator-session (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Hi,

Just upgraded my laptop from Raring to Saucy alpha 1 and it seems every now and again, the indicator-session-service process would spin out of control consuming both CPU and memory.

[hloeung@darkon tmp]$ top
top - 16:22:08 up 48 min, 16 users, load average: 1.40, 1.36, 0.92
Tasks: 216 total, 6 running, 210 sleeping, 0 stopped, 0 zombie
%Cpu(s): 27.9 us, 3.1 sy, 0.0 ni, 68.9 id, 0.1 wa, 0.1 hi, 0.0 si, 0.0 st
KiB Mem: 8089552 total, 4229288 used, 3860264 free, 215360 buffers
KiB Swap: 4044768 total, 0 used, 4044768 free, 1004484 cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
 1826 hloeung 20 0 2494m 2.0g 4524 R 98.7 26.0 14:43.94 indicator-sessi
  924 messageb 20 0 28956 1956 964 S 12.3 0.0 2:44.56 dbus-daemon
 1292 root 20 0 269m 3556 2696 S 4.0 0.0 0:55.77 lightdm
 1782 hloeung 20 0 486m 16m 11m S 4.0 0.2 0:55.11 unity-panel-ser
 1763 hloeung 20 0 29788 2636 1336 S 1.0 0.0 0:17.03 dbus-daemon
 2308 hloeung 20 0 479m 34m 20m S 0.7 0.4 0:12.21 konsole
   17 root 20 0 0 0 0 S 0.3 0.0 0:01.94 rcu_sched
 1614 nobody 20 0 28908 1516 1268 S 0.3 0.0 0:04.00 dnsmasq
 2495 hloeung 20 0 960m 239m 47m S 0.3 3.0 0:55.52 chrome
 3413 hloeung 20 0 482m 36m 23m S 0.3 0.5 0:10.02 konsole
 5762 hloeung 20 0 20644 1600 1096 R 0.3 0.0 0:00.06 top
    1 root 20 0 27068 2852 1436 S 0.0 0.0 0:03.34 init
    2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
    3 root 20 0 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/0
    5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
    7 root rt 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
    8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
    9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0

Partial strace output:

read(7, 0x7fffbc5eef10, 16) = -1 EAGAIN (Resource temporarily unavailable)
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
close(7) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0000f3d0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe5f7e0, FUTEX_WAKE_PRIVATE, 1) = 1
geteuid() = 3134
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 10
lseek(10, 0, SEEK_CUR) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=1936, ...}) = 0
mmap(NULL, 1936, PROT_READ, MAP_SHARED, 10, 0) = 0x7f1e0f0a4000
lseek(10, 1936, SEEK_SET) = 1936
munmap(0x7f1e0f0a4000, 1936) = 0
close(10) = 0
geteuid() = 3134
geteuid() = 3134
geteuid() = 3134
brk(0x72a0e000) = 0x72a0e000
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0ddcb740, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
eventfd2(0, O_NONBLOCK|O_CLOEXEC) = 7
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
read(7, 0x7fffbc5eef10, 16) = -1 EAGAIN (Resource temporarily unavailable)
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
close(7) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0ddcb740, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f1e0ddcb740, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0xe66e60, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0ddcb740, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f1e0ddcb740, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0000f3d0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe5f7e0, FUTEX_WAKE_PRIVATE, 1) = 1
geteuid() = 3134
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 10
connect(10, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(10) = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 10
lseek(10, 0, SEEK_CUR) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=1936, ...}) = 0
mmap(NULL, 1936, PROT_READ, MAP_SHARED, 10, 0) = 0x7f1e0f0a4000
lseek(10, 1936, SEEK_SET) = 1936
munmap(0x7f1e0f0a4000, 1936) = 0
close(10) = 0
geteuid() = 3134
geteuid() = 3134
geteuid() = 3134
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0ddcb740, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f1e0ddcb740, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
eventfd2(0, O_NONBLOCK|O_CLOEXEC) = 7
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
read(7, 0x7fffbc5eef10, 16) = -1 EAGAIN (Resource temporarily unavailable)
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
close(7) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0ddcb740, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f1e0ddcb740, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe62e00, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0000f3d0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe5f7e0, FUTEX_WAKE_PRIVATE, 1) = 1
geteuid() = 3134
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 10
lseek(10, 0, SEEK_CUR) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=1936, ...}) = 0
mmap(NULL, 1936, PROT_READ, MAP_SHARED, 10, 0) = 0x7f1e0f0a4000
lseek(10, 1936, SEEK_SET) = 1936
munmap(0x7f1e0f0a4000, 1936) = 0
close(10) = 0
geteuid() = 3134
geteuid() = 3134
geteuid() = 3134
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f1e0ddcb740, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f1e0ddcb740, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
eventfd2(0, O_NONBLOCK|O_CLOEXEC) = 7
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe66e60, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=7, events=POLLIN}], 1, 25000) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=7, events=POLLIN}], 1, 0) = 0 (Timeout)
read(7, 0x7fffbc5eef10, 16) = -1 EAGAIN (Resource temporarily unavailable)
write(7, "\1\0\0\0\0\0\0\0", 8) = 8
close(7) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe8ab60, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f1e0000d840, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe61920, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xe62e00, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1\0\0\0\0\0\0\0", 8) = 8
geteuid(^C <unfinished ...>
Process 1826 detached

lsof output:

[hloeung@darkon tmp]$ sudo lsof -p 1826
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
indicator 1826 hloeung cwd DIR 252,0 4096 2 /home/hloeung
indicator 1826 hloeung rtd DIR 8,2 4096 2 /
indicator 1826 hloeung txt REG 8,2 278488 926123 /usr/lib/indicator-session/indicator-session-service
indicator 1826 hloeung mem REG 8,2 52168 1966876 /lib/x86_64-linux-gnu/libnss_files-2.17.so
indicator 1826 hloeung mem REG 8,2 47760 1966844 /lib/x86_64-linux-gnu/libnss_nis-2.17.so
indicator 1826 hloeung mem REG 8,2 97296 1966577 /lib/x86_64-linux-gnu/libnsl-2.17.so
indicator 1826 hloeung mem REG 8,2 35728 1966822 /lib/x86_64-linux-gnu/libnss_compat-2.17.so
indicator 1826 hloeung mem REG 8,2 48232 1180702 /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
indicator 1826 hloeung mem REG 8,2 2919792 929294 /usr/lib/locale/locale-archive
indicator 1826 hloeung mem REG 8,2 104720 918842 /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
indicator 1826 hloeung mem REG 8,2 22616 924778 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
indicator 1826 hloeung mem REG 8,2 14456 922829 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
indicator 1826 hloeung mem REG 8,2 26512 918456 /usr/lib/x86_64-linux-gnu/libdatrie.so.1.2.0
indicator 1826 hloeung mem REG 8,2 170064 1966130 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
indicator 1826 hloeung mem REG 8,2 334800 920025 /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.918.0
indicator 1826 hloeung mem REG 8,2 281552 1966548 /lib/x86_64-linux-gnu/libdbus-1.so.3.7.4
indicator 1826 hloeung mem REG 8,2 174232 921864 /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1
indicator 1826 hloeung mem REG 8,2 31760 1966321 /lib/x86_64-linux-gnu/librt-2.17.so
indicator 1826 hloeung mem REG 8,2 39384 918004 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
indicator 1826 hloeung mem REG 8,2 34912 924451 /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0
indicator 1826 hloeung mem REG 8,2 10320 927598 /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0
indicator 1826 hloeung mem REG 8,2 153944 1966477 /lib/x86_64-linux-gnu/libpng12.so.0.49.0
indicator 1826 hloeung mem REG 8,2 617200 918036 /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.28.2
indicator 1826 hloeung mem REG 8,2 121280 924774 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
indicator 1826 hloeung mem REG 8,2 661808 917510 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.10.1
indicator 1826 hloeung mem REG 8,2 14664 1966815 /lib/x86_64-linux-gnu/libdl-2.17.so
indicator 1826 hloeung mem REG 8,2 36872 918685 /usr/lib/x86_64-linux-gnu/libthai.so.0.2.0
indicator 1826 hloeung mem REG 8,2 73384 921365 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
indicator 1826 hloeung mem REG 8,2 31104 919563 /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.0.0
indicator 1826 hloeung mem REG 8,2 399752 919863 /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0
indicator 1826 hloeung mem REG 8,2 48264 918704 /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.1.0
indicator 1826 hloeung mem REG 8,2 10248 921042 /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
indicator 1826 hloeung mem REG 8,2 10232 925893 /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0
indicator 1826 hloeung mem REG 8,2 39232 921084 /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
indicator 1826 hloeung mem REG 8,2 39160 927088 /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
indicator 1826 hloeung mem REG 8,2 10408 920967 /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
indicator 1826 hloeung mem REG 8,2 244688 918426 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.7.0
indicator 1826 hloeung mem REG 8,2 86056 921461 /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.3200.5
indicator 1826 hloeung mem REG 8,2 173304 921814 /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0
indicator 1826 hloeung mem REG 8,2 1058072 917897 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11200.14
indicator 1826 hloeung mem REG 8,2 34880 920137 /usr/lib/x86_64-linux-gnu/libcairo-gobject.so.2.11200.14
indicator 1826 hloeung mem REG 8,2 22576 918820 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
indicator 1826 hloeung mem REG 8,2 59784 924472 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0
indicator 1826 hloeung mem REG 8,2 1289840 917786 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
indicator 1826 hloeung mem REG 8,2 52456 922198 /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3200.5
indicator 1826 hloeung mem REG 8,2 256224 1966332 /lib/x86_64-linux-gnu/libpcre.so.3.13.1
indicator 1826 hloeung mem REG 8,2 30944 918133 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1
indicator 1826 hloeung mem REG 8,2 97144 1966719 /lib/x86_64-linux-gnu/libresolv-2.17.so
indicator 1826 hloeung mem REG 8,2 134224 1966673 /lib/x86_64-linux-gnu/libselinux.so.1
indicator 1826 hloeung mem REG 8,2 100728 1966654 /lib/x86_64-linux-gnu/libz.so.1.2.8
indicator 1826 hloeung mem REG 8,2 1067424 1966838 /lib/x86_64-linux-gnu/libm-2.17.so
indicator 1826 hloeung mem REG 8,2 14568 918716 /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.3703.0
indicator 1826 hloeung mem REG 8,2 138088 918454 /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.20809.1
indicator 1826 hloeung mem REG 8,2 311608 918543 /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.3200.5
indicator 1826 hloeung mem REG 8,2 130400 919673 /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2800.1
indicator 1826 hloeung mem REG 8,2 605448 926251 /usr/lib/x86_64-linux-gnu/libgdk-3.so.0.800.2
indicator 1826 hloeung mem REG 8,2 5047328 930427 /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.800.2
indicator 1826 hloeung mem REG 8,2 1848024 1966738 /lib/x86_64-linux-gnu/libc-2.17.so
indicator 1826 hloeung mem REG 8,2 135175 1966836 /lib/x86_64-linux-gnu/libpthread-2.17.so
indicator 1826 hloeung mem REG 8,2 1045608 1966760 /lib/x86_64-linux-gnu/libglib-2.0.so.0.3703.0
indicator 1826 hloeung mem REG 8,2 334976 919974 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3703.0
indicator 1826 hloeung mem REG 8,2 1479952 920101 /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.3703.0
indicator 1826 hloeung mem REG 8,2 69096 921480 /usr/lib/x86_64-linux-gnu/libindicator3.so.7.0.0
indicator 1826 hloeung mem REG 8,2 110024 919710 /usr/lib/x86_64-linux-gnu/libdbusmenu-glib.so.4.0.12
indicator 1826 hloeung mem REG 8,2 77808 921458 /usr/lib/x86_64-linux-gnu/libdbusmenu-gtk3.so.4.0.12
indicator 1826 hloeung mem REG 8,2 149312 1966707 /lib/x86_64-linux-gnu/ld-2.17.so
indicator 1826 hloeung mem REG 8,2 217496 1574269 /usr/share/glib-2.0/schemas/gschemas.compiled
indicator 1826 hloeung mem REG 8,2 12873 1447377 /usr/share/locale-langpack/en_AU/LC_MESSAGES/gtk30-properties.mo
indicator 1826 hloeung mem REG 252,0 26009 722 /home/hloeung/.config/dconf/user
indicator 1826 hloeung mem REG 0,21 2 13840 /run/user/3134/dconf/user
indicator 1826 hloeung mem REG 8,2 3096 1445116 /usr/share/locale-langpack/en_AU/LC_MESSAGES/libc.mo
indicator 1826 hloeung mem REG 8,2 494 1444397 /usr/share/locale-langpack/en_AU/LC_MESSAGES/libdbusmenu.mo
indicator 1826 hloeung mem REG 8,2 2307 1446740 /usr/share/locale-langpack/en_AU/LC_MESSAGES/glib20.mo
indicator 1826 hloeung mem REG 8,2 26258 1191964 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
indicator 1826 hloeung mem REG 8,2 985 1448172 /usr/share/locale-langpack/en_AU/LC_MESSAGES/indicator-session.mo
indicator 1826 hloeung 0u CHR 1,3 0t0 1029 /dev/null
indicator 1826 hloeung 1u CHR 136,3 0t0 6 /dev/pts/3
indicator 1826 hloeung 2u CHR 136,3 0t0 6 /dev/pts/3
indicator 1826 hloeung 3u 0000 0,9 0 6278 anon_inode
indicator 1826 hloeung 4u 0000 0,9 0 6278 anon_inode
indicator 1826 hloeung 5u unix 0xffff88022acd3a80 0t0 12752 socket
indicator 1826 hloeung 6u 0000 0,9 0 6278 anon_inode
indicator 1826 hloeung 7u 0000 0,9 0 6278 anon_inode
indicator 1826 hloeung 8u unix 0xffff88022acd5e40 0t0 12754 socket
indicator 1826 hloeung 9u 0000 0,9 0 6278 anon_inode

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: indicator-session 12.10.5daily13.06.19-0ubuntu1
ProcVersionSignature: Ubuntu 3.10.0-0.7-generic 3.10.0-rc7
Uname: Linux 3.10.0-0-generic x86_64
ApportVersion: 2.10.2-0ubuntu3
Architecture: amd64
Date: Fri Jun 28 16:20:21 2013
MarkForUpload: True
SourcePackage: indicator-session
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Haw Loeung (hloeung) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in indicator-session (Ubuntu):
status: New → Confirmed
Revision history for this message
Lars Karlitski (larsu) wrote :

I'm seeing this quite often as of last week. Will try to get a backtrace next time it happens.

Changed in indicator-session (Ubuntu):
importance: Undecided → High
Revision history for this message
Haw Loeung (hloeung) wrote :

GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/indicator-session/indicator-session-service...Reading symbols from /usr/lib/debug/.build-id/61/78c2fc68d4143aa8821627b07b1ff54eeba457.debug...done.
done.

warning: core file may not match specified executable file.
[New LWP 5314]
[New LWP 5315]
[New LWP 5310]

warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/indicator-session/indicator-session-service'.
#0 0x00007f17f381b3cd in poll () at ../sysdeps/unix/syscall-template.S:81
81 ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) backtrace full
#0 0x00007f17f381b3cd in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1 0x00007f17f3d5b394 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2 0x00007f17f3d5b49c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3 0x00007f17eac78a1d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
No symbol table info available.
#4 0x00007f17f3d7fc25 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5 0x00007f17f3afdf8e in start_thread (arg=0x7f17eac71700)
    at pthread_create.c:311
        __res = <optimised out>
        pd = 0x7f17eac71700
        now = <optimised out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139740699891456,
                -6360382085390144361, 0, 139740869505120, 140736669759056, 4096,
                6454986197775150231, 6454930875873356951}, mask_was_saved = 0}},
          priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimised out>
        sp = <optimised out>
        freesize = <optimised out>
        __PRETTY_FUNCTION__ = "start_thread"
#6 0x00007f17f3827e1d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
(gdb) quit

Doesn't look very helpful, what am I missing?

Revision history for this message
Haw Loeung (hloeung) wrote :

Attached backtrace, hope this helps.

Revision history for this message
Lars Karlitski (larsu) wrote :

Found it. The service leaks DBusmenuItems (user_menuitem_new) like crazy. Each of those connects to the 'notify' signal of a dbus proxy. GLib then uses 100% CPU to dispatch a notify event to all these listeners.

Haw, thanks for your backtrace. It's the same issue.

Killing the service (`killall indicator-session-service`) will make your system usable again without having to logout. However, it will come back to using 100% CPU quite fast.

A hack way to work around this until we have a fix is to rename /usr/lib/indicator-session/indicator-session-service (and kill the running process). NOTE: this will make your session menu unusable.

Revision history for this message
Lars Karlitski (larsu) wrote :

The attached branch fixes the issue for me. Testing appreciated ;)

Changed in indicator-session:
importance: Undecided → High
Lars Karlitski (larsu)
Changed in indicator-session:
status: New → In Progress
assignee: nobody → Lars Uebernickel (larsu)
Changed in indicator-session (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Daniel Holbach (dholbach) wrote :

This makes it work for me. Thanks a lot!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-session - 12.10.5daily13.06.19-0ubuntu2

---------------
indicator-session (12.10.5daily13.06.19-0ubuntu2) saucy; urgency=low

  * Backport a fix for high resources usage issue, thanks Lars (lp: #1195595)
 -- Sebastien Bacher <email address hidden> Mon, 01 Jul 2013 13:05:15 +0200

Changed in indicator-session (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-session at revision 395, scheduled for release in indicator-session, milestone Unknown

Changed in indicator-session:
status: In Progress → Fix Committed
Lars Karlitski (larsu)
Changed in indicator-session:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.