← Back to team overview

desktop-packages team mailing list archive

[Bug 981309] Re: hash tables, strings, and variants leaked in LauncherEntry.serialize()

 

** Changed in: unity (Ubuntu Precise)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libunity in Ubuntu.
Matching subscriptions: dp-libunity
https://bugs.launchpad.net/bugs/981309

Title:
  hash tables, strings, and variants leaked in LauncherEntry.serialize()

Status in libunity:
  Fix Released
Status in Unity:
  Fix Released
Status in libunity package in Ubuntu:
  Fix Released
Status in unity package in Ubuntu:
  Fix Released
Status in libunity source package in Precise:
  Fix Released
Status in unity source package in Precise:
  Fix Released

Bug description:
  Test case:
  1. Run valgring profiling on nautilus (with at least --leak-check=yes)
  2. Confirm that the memory leaks, as noted in the original description, do not appear anymore

  ===

  
  Found while running valgrind on Nautilus. This looks like a Low importance leak to me since the size of the leak is small, but I only profiled for about 30 seconds & don't know how quickly the bytes would accumulate over time.

  ==6455==
  ==6455== 444 (56 direct, 388 indirect) bytes in 1 blocks are definitely lost in loss record 19,250 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C9727D: g_slice_alloc (gslice.c:1003)
  ==6455==    by 0x4C6BEB1: g_hash_table_new_full (ghash.c:689)
  ==6455==    by 0x4A3C4C9: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 444 (56 direct, 388 indirect) bytes in 1 blocks are definitely lost in loss record 19,251 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C9727D: g_slice_alloc (gslice.c:1003)
  ==6455==    by 0x4C6BEB1: g_hash_table_new_full (ghash.c:689)
  ==6455==    by 0x4A3C4C9: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)

  ...etc...

  ==6455==
  ==6455== 444 (56 direct, 388 indirect) bytes in 1 blocks are definitely lost in loss record 19,250 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C9727D: g_slice_alloc (gslice.c:1003)
  ==6455==    by 0x4C6BEB1: g_hash_table_new_full (ghash.c:689)
  ==6455==    by 0x4A3C4C9: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 444 (56 direct, 388 indirect) bytes in 1 blocks are definitely lost in loss record 19,251 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C9727D: g_slice_alloc (gslice.c:1003)
  ==6455==    by 0x4C6BEB1: g_hash_table_new_full (ghash.c:689)
  ==6455==    by 0x4A3C4C9: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455== 1 bytes in 1 blocks are indirectly lost in loss record 140 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC59C: g_variant_new_boolean (gvariant.c:348)
  ==6455==    by 0x4A3C527: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 1 bytes in 1 blocks are indirectly lost in loss record 141 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC59C: g_variant_new_boolean (gvariant.c:348)
  ==6455==    by 0x4A3C597: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 1 bytes in 1 blocks are indirectly lost in loss record 142 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC59C: g_variant_new_boolean (gvariant.c:348)
  ==6455==    by 0x4A3C5CF: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 1 bytes in 1 blocks are indirectly lost in loss record 143 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC59C: g_variant_new_boolean (gvariant.c:348)
  ==6455==    by 0x4A3C527: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==
  ==6455== 1 bytes in 1 blocks are indirectly lost in loss record 144 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC59C: g_variant_new_boolean (gvariant.c:348)
  ==6455==    by 0x4A3C597: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==
  ==6455== 1 bytes in 1 blocks are indirectly lost in loss record 145 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC59C: g_variant_new_boolean (gvariant.c:348)
  ==6455==    by 0x4A3C5CF: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==
  ==6455== 6 bytes in 1 blocks are indirectly lost in loss record 590 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98BDA: g_strdup (gstrfuncs.c:356)
  ==6455==    by 0x4A3C4D9: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 6 bytes in 1 blocks are indirectly lost in loss record 591 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98BDA: g_strdup (gstrfuncs.c:356)
  ==6455==    by 0x4A3C4D9: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==
  ==6455== 7 bytes in 1 blocks are indirectly lost in loss record 650 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98BDA: g_strdup (gstrfuncs.c:356)
  ==6455==    by 0x4A3C5BD: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 7 bytes in 1 blocks are indirectly lost in loss record 651 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98BDA: g_strdup (gstrfuncs.c:356)
  ==6455==    by 0x4A3C5BD: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455== 8 bytes in 1 blocks are indirectly lost in loss record 2,680 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC704: g_variant_new_int64 (gvariant.c:541)
  ==6455==    by 0x4A3C4EF: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 8 bytes in 1 blocks are indirectly lost in loss record 2,681 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC7B4: g_variant_new_double (gvariant.c:624)
  ==6455==    by 0x4A3C55F: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x400E29A: _dl_fixup (dl-runtime.c:119)
  ==6455==    by 0x40146AF: _dl_runtime_resolve (dl-trampoline.S:37)
  ==6455==    by 0xBE8B470F: ???
  ==6455==
  ==6455== 8 bytes in 1 blocks are indirectly lost in loss record 2,682 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC704: g_variant_new_int64 (gvariant.c:541)
  ==6455==    by 0x4A3C4EF: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)
  ==6455==
  ==6455== 8 bytes in 1 blocks are indirectly lost in loss record 2,683 of 20,624
  ==6455==    at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
  ==6455==    by 0x4C8296A: standard_malloc (gmem.c:85)
  ==6455==    by 0x4C82E02: g_malloc (gmem.c:159)
  ==6455==    by 0x4C98C43: g_memdup (gstrfuncs.c:384)
  ==6455==    by 0x4C574D9: g_bytes_new (gbytes.c:95)
  ==6455==    by 0x4CAC4EB: g_variant_new_from_trusted (gvariant.c:326)
  ==6455==    by 0x4CAC7B4: g_variant_new_double (gvariant.c:624)
  ==6455==    by 0x4A3C55F: unity_collect_launcher_entry_properties (in /usr/lib/libunity.so.9.0.1)
  ==6455==    by 0x4A3C697: ??? (in /usr/lib/libunity.so.9.0.1)

To manage notifications about this bug go to:
https://bugs.launchpad.net/libunity/+bug/981309/+subscriptions