gtk-window-decorator leaks large numbers of pixmaps and pixmap memory
Bug #1057263 reported by
Daniel van Vugt
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
High
|
Daniel van Vugt | ||
Compiz Core |
Fix Released
|
High
|
Daniel van Vugt | ||
compiz (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Memory leak when resizing window in normal mode.
[Test Case]
Test case:
1. Install xrestop (sudo apt-get install xrestop)
2. Run xrestop and look for the gtk-window-
3. Note the values for "Pxms" and "Pxm mem".
4. Resize a window rapidly (make sure you have Normal resize mode, not Rectangle)
Expected: No significant change in Pxm metrics.
Observed: Hundreds of pixmaps leaked and Pxm mem grows by several megabytes per second.
[Regression Potential]
Low, used in Ubuntu 12.10 as well without regressions.
Related branches
lp://qastaging/~vanvugt/compiz/fix-1057263
- Sam Spilsbury: Approve
- jenkins (community): Needs Fixing (continuous-integration)
-
Diff: 83 lines (+26/-3)5 files modifiedgtk/window-decorator/decorator.c (+10/-1)
gtk/window-decorator/events.c (+8/-1)
gtk/window-decorator/gtk-window-decorator.c (+1/-1)
gtk/window-decorator/gtk-window-decorator.h (+1/-0)
gtk/window-decorator/wnck.c (+6/-0)
Changed in compiz-core: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 0.9.7.10 |
description: | updated |
Changed in compiz: | |
status: | Triaged → In Progress |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
description: | updated |
description: | updated |
Changed in compiz (Ubuntu): | |
status: | New → Fix Released |
Changed in compiz (Ubuntu Precise): | |
status: | New → In Progress |
Changed in compiz-core: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I've isolated the problem to "destroyed_ pixmaps_ table" in gtk/window- decorator/
If I replace the g_hash_table_insert with g_object_unref then the leak doesn't happen. But I suspect that's not logically the right solution.