Buffer leak during repeated mirscreencasts causes server to be killed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Cemil Azizoglu | ||
0.18 |
Won't Fix
|
High
|
Cemil Azizoglu | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Nexus 4 running latest stable image -
current build number: 25
device name: mako
channel: ubuntu-
last update: 2015-12-08 11:53:16
version version: 25
version ubuntu: 20151118.2
version tag: OTA-8
version device: 20150911
version custom: 20151118.2
I'm running the following command to capture a screenshot of a running app, the unity shell, the splash screen when apps load etc.
adb shell mirscreencast -m /var/run/mir_socket -n1
I'm doing this in a script, across many hundreds of apps, so I'm doing it a lot. I'm seeing my script get wedged fairly often with errors such as this one:-
[1449575031.562843] <ERROR> MirConnectionAPI: Caught exception at client library boundary (in release): /build/
Dynamic exception type: N5boost16except
std::exception:
Related branches
- Alberto Aguirre (community): Approve
- Kevin DuBois (community): Approve
- Mir CI Bot: Needs Fixing (continuous-integration)
- PS Jenkins bot (community): Approve (continuous-integration)
- Daniel van Vugt: Approve
-
Diff: 146 lines (+23/-56)5 files modifiedsrc/renderers/gl/program_family.cpp (+0/-5)
src/renderers/gl/renderer.cpp (+4/-1)
tests/unit-tests/renderers/gl/CMakeLists.txt (+0/-1)
tests/unit-tests/renderers/gl/test_gl_program_family.cpp (+0/-49)
tests/unit-tests/renderers/gl/test_gl_renderer.cpp (+19/-0)
summary: |
- mirscreencast hangs, fails to take screenshot + mirscreencast crashes, fails to take screenshot |
tags: | added: screencast |
Changed in mir: | |
assignee: | nobody → Cemil Azizoglu (cemil-azizoglu) |
Changed in mir: | |
milestone: | none → 0.19.0 |
status: | New → In Progress |
importance: | Undecided → High |
Changed in mir (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in mir: | |
status: | Fix Committed → Fix Released |
N4 driver is not doing decRef when eglDestroyImage KHR() is called for the screencast DisplayBuffer.
Also, mir is not calling eglDestroyImage KHR() for the capture buffer (which is affecting both N4 and krillin).
krillin : http:// pastebin. ubuntu. com/14134610/ pastebin. ubuntu. com/14134689/
N4 : http://