Surfaces are not properly released in CustomWindowManagement.state_change_requests_are_associated_with_correct_surface
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Low
|
Alexandros Frantzis | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Memory leak in CustomWindowMan
Seen in https:/
7: ==13773== 1,359,533 (14,960 direct, 1,344,573 indirect) bytes in 17 blocks are definitely lost in loss record 127 of 127
7: ==13773== at 0x4C2C100: operator new(unsigned long) (in /usr/lib/
7: ==13773== by 0x8E5C24: MirConnection:
7: ==13773== by 0x8D682F: mir_surface_create (mir_surface_
7: ==13773== by 0x8D6A1A: mir_surface_
7: ==13773== by 0x6D9FC7: (anonymous namespace)
...
It's strange that the leak is not consistently detected by valgrind.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Approve
-
Diff: 11 lines (+3/-0)1 file modifiedtests/acceptance-tests/test_custom_window_management.cpp (+3/-0)
Changed in mir: | |
status: | Fix Committed → Fix Released |
The memory leak is the indirect result of improper linking (https:/ /bugs.launchpad .net/mir/ +bug/1445473).
The effect can be worked around by properly releasing the surfaces, instead of letting them be released at MirConnection release time.