mirscreencast utility crashes on android devices
Bug #1280086 reported by
Alberto Aguirre
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Alberto Aguirre | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
mir screencast utility SEGFAULT on android devices during glReadPixels call.
Related branches
lp://staging/~albaguirre/mir/screencast-crash-fix
- PS Jenkins bot (community): Approve (continuous-integration)
- Alexandros Frantzis (community): Approve
-
Diff: 135 lines (+38/-36)1 file modifiedsrc/utils/screencast.cpp (+38/-36)
Changed in mir: | |
assignee: | nobody → Alberto Aguirre (albaguirre) |
status: | New → In Progress |
milestone: | none → 0.1.6 |
summary: |
- mir screencast utility crashes on android devices + mirscreencast utility crashes on android devices |
Changed in mir: | |
importance: | High → Medium |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
There is a subtle threading issue happening. For some unkown reason, the EGL context goes bad after waiting on a future in the main thread - the EGL context was made current in the main thread and should remain so.
Possibly a TLS issue.
....
frame_ written_ future. wait(); frame_size, frame_data.data());
frame_ written_ future = write_frame_ to_file( frame_data, frame_number, format);
while (running)
{
//EGL context is good here - all gl calls made here work fine.
//EGL context is not valid here anymore all gl calls fail after this wait
auto format = read_pixels(
}