Comment 11 for bug 1523698

Revision history for this message
Chow Loong Jin (hyperair) wrote :

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.