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://qastaging/~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(
}