Some mali drivers crash after repeatedly creating/destroying the mir compositor threads
Bug #1362841 reported by
Alberto Aguirre
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Alberto Aguirre | ||
0.7 |
Fix Released
|
High
|
Alberto Aguirre | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
mir (Ubuntu RTM) |
Fix Released
|
High
|
Unassigned |
Bug Description
Some mali drivers crash after repeatedly creating/destroying the mir compositor threads.
It's possible calling eglMakeCurrent on a new compositor thread multiple times exposes such a bug.
Recycling the mir compositor threads seems to be a viable workaround.
Related branches
lp:~albaguirre/mir/recycle-compositor-threads
- Alexandros Frantzis (community): Needs Information
- Daniel van Vugt: Needs Information
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 1605 lines (+996/-137)16 files modifiedinclude/test/mir_test/signal.h (+1/-0)
include/test/mir_test_doubles/mock_compositor_loop.h (+44/-0)
include/test/mir_test_doubles/mock_compositor_thread.h (+66/-0)
src/server/compositor/CMakeLists.txt (+2/-0)
src/server/compositor/compositor_thread.cpp (+141/-0)
src/server/compositor/compositor_thread.h (+89/-0)
src/server/compositor/compositor_thread_factory.cpp (+32/-0)
src/server/compositor/compositor_thread_factory.h (+44/-0)
src/server/compositor/default_configuration.cpp (+2/-0)
src/server/compositor/multi_threaded_compositor.cpp (+47/-32)
src/server/compositor/multi_threaded_compositor.h (+10/-8)
tests/integration-tests/test_surface_stack_with_compositor.cpp (+11/-0)
tests/mir_test/signal.cpp (+6/-0)
tests/unit-tests/compositor/CMakeLists.txt (+1/-0)
tests/unit-tests/compositor/test_compositor_thread.cpp (+256/-0)
tests/unit-tests/compositor/test_multi_threaded_compositor.cpp (+244/-97)
lp:~albaguirre/mir/recycle-compositor-threads-take2
- PS Jenkins bot (community): Approve (continuous-integration)
- Alexandros Frantzis (community): Approve
-
Diff: 661 lines (+538/-8)9 files modifiedinclude.private/server/mir/thread/basic_thread_pool.h (+63/-0)
src/server/CMakeLists.txt (+2/-0)
src/server/compositor/multi_threaded_compositor.cpp (+8/-5)
src/server/compositor/multi_threaded_compositor.h (+5/-3)
src/server/thread/CMakeLists.txt (+12/-0)
src/server/thread/basic_thread_pool.cpp (+221/-0)
tests/unit-tests/CMakeLists.txt (+1/-0)
tests/unit-tests/thread/CMakeLists.txt (+5/-0)
tests/unit-tests/thread/test_basic_thread_pool.cpp (+221/-0)
Changed in mir: | |
milestone: | none → 0.8.0 |
tags: | added: touch-2014-09-11 |
Changed in mir (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in mir: | |
milestone: | 0.9.0 → 0.8.0 |
Changed in mir (Ubuntu): | |
status: | Triaged → Fix Committed |
no longer affects: | mir/0.8 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
status: | Fix Released → Fix Committed |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in mir (Ubuntu RTM): | |
importance: | Undecided → High |
status: | New → Fix Released |
To post a comment you must log in.
Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown