I ran it through valgrind by diverting indicator-session-service and
replacing it with the following script:

#!/bin/bash

exec valgrind \
    --tool=massif \
    --alloc-fn={g_slice_alloc,g_malloc,g_realloc} \
    --massif-out-file=$HOME/massif-dump/indicator-session-service.out.%p \
    
/usr/lib/x86_64-linux-gnu/indicator-session/indicator-session-service.distrib \
    "$@"

Running ms_print on the output files gave me some stack traces of the
highest number of unfreed allocations:

60.92% (1,262,577,672B) (heap allocation functions) malloc/new/new[], 
--alloc-fns, etc.
->17.05% (353,258,600B) 0x568AC5C: g_variant_new_from_children (in 
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.1)
| ->08.46% (175,306,320B) 0x568798A: g_variant_builder_end (in 
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.1)
| | ->08.46% (175,306,120B) 0x4F05434: parse_value_from_blob (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | ->04.23% (87,682,360B) 0x4F05120: parse_value_from_blob (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | ->04.23% (87,682,360B) 0x4F05400: parse_value_from_blob (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | | ->04.23% (87,682,360B) 0x4F0501F: parse_value_from_blob (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |   ->04.23% (87,682,360B) 0x4F05120: parse_value_from_blob (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |     ->04.23% (87,682,360B) 0x4F051E8: parse_value_from_blob (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |       ->04.23% (87,682,360B) 0x4F0747A: g_dbus_message_new_from_blob 
(in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |         ->04.23% (87,682,360B) 0x4F1168B: _g_dbus_worker_do_read_cb 
(in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |           ->04.23% (87,682,360B) 0x4EB45F1: g_task_return_now (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |             ->04.22% (87,503,000B) 0x4EB4627: complete_in_idle_cb (in 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |             | ->04.22% (87,503,000B) 0x564FEA8: 
g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.1)
| | | | |             |   ->04.22% (87,503,000B) 0x565024E: 
g_main_context_iterate.isra.29 (in 
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.1)
| | | | |             |     ->04.22% (87,503,000B) 0x5650570: g_main_loop_run 
(in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.1)
| | | | |             |       ->04.22% (87,503,000B) 0x4F0F4C4: 
gdbus_shared_thread_func (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4600.1)
| | | | |             |         ->04.22% (87,503,000B) 0x5676963: 
g_thread_proxy (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.1)
| | | | |             |           ->04.22% (87,503,000B) 0x69B96A8: 
start_thread (pthread_create.c:333)
| | | | |             |             ->04.22% (87,503,000B) 0x5A1BEEB: clone 
(clone.S:109)

I've attached the full dump from ms_print.

** Attachment added: "indicator-session-service.out.5268.ms_print"
   
https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1523698/+attachment/4572208/+files/indicator-session-service.out.5268.ms_print

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

Title:
  indicator-session is leaking memory on ubuntu 15.10

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1523698/+subscriptions

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

Reply via email to