Several leaks in ccsIntegratedSettingListAppend() ... from ccsGNOMEIntegrationBackendGetIntegratedSetting() from readSetting (gsettings.c:375)

Bug #1097661 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Sam Spilsbury
0.9.8
Won't Fix
High
Unassigned
compiz (Ubuntu)
Fix Released
High
Sam Spilsbury

Bug Description

Several leaks in ccsIntegratedSettingListAppend() ... from ccsGNOMEIntegrationBackendGetIntegratedSetting() from readSetting (gsettings.c:375)

These look like they might be recurring at runtime. So probably more severe than the other leaks found today...

==9349== 288 bytes in 18 blocks are definitely lost in loss record 1,151 of 1,327
==9349== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9349== by 0xA313905: ccsIntegratedSettingListAppend (lists.c:185)
==9349== by 0xA3149FC: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==9349== by 0xA31DB7B: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==9349== by 0xAFD03C4: ccsGNOMEIntegrationBackendGetIntegratedSetting (ccs_gnome_integration.c:118)
==9349== by 0xAFCFC88: readSetting (gsettings.c:375)
==9349== by 0xA31A9AA: ccsReadPluginSettingsDefault (main.c:3493)
==9349== by 0xA30CB4B: ccsLoadPluginSettings (compiz.cpp:3254)
==9349== by 0xA3197B1: ccsContextNew (main.c:552)
==9349== by 0xA0DE0FE: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:509)
==9349== by 0xA0E03A8: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
==9349== by 0x4EAF425: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
==9349==
==9349== 288 bytes in 18 blocks are definitely lost in loss record 1,152 of 1,327
==9349== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9349== by 0xA313905: ccsIntegratedSettingListAppend (lists.c:185)
==9349== by 0xA3149FC: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==9349== by 0xA31DB7B: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==9349== by 0xAFD03C4: ccsGNOMEIntegrationBackendGetIntegratedSetting (ccs_gnome_integration.c:118)
==9349== by 0xAFCFC88: readSetting (gsettings.c:375)
==9349== by 0xA3170B6: ccsReadSettingsDefault (main.c:3451)
==9349== by 0xA0DE10A: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:510)
==9349== by 0xA0E03A8: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
==9349== by 0x4EAF425: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
==9349== by 0x4EAFCF0: CompPlugin::push(CompPlugin*) (plugin.cpp:449)
==9349== by 0x4E83447: compiz::private_screen::PluginManager::updatePlugins(CompScreen*, std::vector<CompOption::Value, std::allocator<CompOption::Value> > const&) (screen.cpp:1120)

... and more severe:

==9349== 512 bytes in 32 blocks are definitely lost in loss record 1,203 of 1,327
==9349== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9349== by 0xA313905: ccsIntegratedSettingListAppend (lists.c:185)
==9349== by 0xA3149FC: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==9349== by 0xA31DB7B: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==9349== by 0xAFD03C4: ccsGNOMEIntegrationBackendGetIntegratedSetting (ccs_gnome_integration.c:118)
==9349== by 0xAFCFC88: readSetting (gsettings.c:375)
==9349== by 0xA31A9AA: ccsReadPluginSettingsDefault (main.c:3493)
==9349== by 0xA30CB4B: ccsLoadPluginSettings (compiz.cpp:3254)
==9349== by 0xA31AADC: ccsFindSettingDefault (main.c:609)
==9349== by 0xA0DEE08: CcpScreen::setOptionFromContext(CompOption*, char const*) (ccp.cpp:375)
==9349== by 0xA0DF8D6: CcpScreen::initPluginForScreen(CompPlugin*) (ccp.cpp:496)
==9349== by 0x4EAE7F3: CompScreen::initPluginForScreen(CompPlugin*) (plugin.cpp:268)

Tags: leak

Related branches

Changed in compiz (Ubuntu):
status: New → Triaged
importance: Undecided → High
description: updated
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Assigning to smspillaz in case he can see the cause of this easily.

Changed in compiz:
assignee: nobody → Sam Spilsbury (smspillaz)
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 1097661] [NEW] Several leaks in ccsIntegratedSettingListAppend() ... from ccsGNOMEIntegrationBackendGetIntegratedSetting() from readSetting (gsettings.c:375)
Download full text (4.4 KiB)

Thanks, I'll look into it later tonight.

On Thu, Jan 10, 2013 at 2:30 PM, Launchpad Bug Tracker
<email address hidden> wrote:
> Daniel van Vugt (vanvugt) has assigned this bug to you for compiz in Ubuntu:
>
> Several leaks in ccsIntegratedSettingListAppend() ... from
> ccsGNOMEIntegrationBackendGetIntegratedSetting() from readSetting
> (gsettings.c:375)
>
> These look like they might be recurring at runtime. So probably more
> severe than the other leaks found today...
>
> ==9349== 288 bytes in 18 blocks are definitely lost in loss record 1,151 of 1,327
> ==9349== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==9349== by 0xA313905: ccsIntegratedSettingListAppend (lists.c:185)
> ==9349== by 0xA3149FC: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
> ==9349== by 0xA31DB7B: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
> ==9349== by 0xAFD03C4: ccsGNOMEIntegrationBackendGetIntegratedSetting (ccs_gnome_integration.c:118)
> ==9349== by 0xAFCFC88: readSetting (gsettings.c:375)
> ==9349== by 0xA31A9AA: ccsReadPluginSettingsDefault (main.c:3493)
> ==9349== by 0xA30CB4B: ccsLoadPluginSettings (compiz.cpp:3254)
> ==9349== by 0xA3197B1: ccsContextNew (main.c:552)
> ==9349== by 0xA0DE0FE: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:509)
> ==9349== by 0xA0E03A8: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
> ==9349== by 0x4EAF425: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
> ==9349==
> ==9349== 288 bytes in 18 blocks are definitely lost in loss record 1,152 of 1,327
> ==9349== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==9349== by 0xA313905: ccsIntegratedSettingListAppend (lists.c:185)
> ==9349== by 0xA3149FC: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
> ==9349== by 0xA31DB7B: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
> ==9349== by 0xAFD03C4: ccsGNOMEIntegrationBackendGetIntegratedSetting (ccs_gnome_integration.c:118)
> ==9349== by 0xAFCFC88: readSetting (gsettings.c:375)
> ==9349== by 0xA3170B6: ccsReadSettingsDefault (main.c:3451)
> ==9349== by 0xA0DE10A: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:510)
> ==9349== by 0xA0E03A8: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
> ==9349== by 0x4EAF425: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
> ==9349== by 0x4EAFCF0: CompPlugin::push(CompPlugin*) (plugin.cpp:449)
> ==9349== by 0x4E83447: compiz::private_screen::PluginManager::updatePlugins(CompScreen*, std::vector<CompOption::Value, std::allocator<CompOption::Value> > const&) (screen.cpp:1120)
>
> ... and more severe:
>
> ==9349== 512 bytes in 32 blocks are definitely lost in loss record 1,203 of 1,327
> ==9349== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==9349== by 0xA313905: ccsIntegratedSettingListAppend (lists.c:185)
> ==9349== by 0xA3149FC: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (m...

Read more...

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Thanks, was simple.

I've added test coverage in the MP so that this leak is detected while running the tests and doesn't need to be detected at runtime.

Changed in compiz:
status: Triaged → In Progress
Changed in compiz (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Sam Spilsbury (smspillaz)
Changed in compiz:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.9~daily13.01.14-0ubuntu1

---------------
compiz (1:0.9.9~daily13.01.14-0ubuntu1) raring; urgency=low

  [ sampo555 ]
  * compiz crashed with SIGSEGV in DodgeAnim::applyDodgeTransform() (LP:
    #1048840)
  * compiz crashing if window un-/minimize animation is "Random" (LP:
    #1098185)

  [ Daniel van Vugt ]
  * Several leaks in new GLProgram from compileProgram() from
    GLScreen::getProgram() from GLWindowAutoProgram::getProgram() (LP:
    #1097644)

  [ Sam Spilsbury ]
  * Several leaks in ccsIntegratedSettingListAppend() ... from
    ccsGNOMEIntegrationBackendGetIntegratedSetting() from readSetting
    (gsettings.c:375) (LP: #1097661)

  [ MC Return ]
  * Thumbnail Window Previews: Flickering of background/glow and window
    title text (LP: #1098758)

  [ Automatic PS uploader ]
  * Automatic snapshot from revision 3561
 -- Automatic PS uploader <email address hidden> Mon, 14 Jan 2013 04:03:09 +0000

Changed in compiz (Ubuntu):
status: In Progress → Fix Released
Changed in compiz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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