lp:~vanvugt/mir/crashing-server
- Get this branch:
- bzr branch lp:~vanvugt/mir/crashing-server
Branch merges
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Needs Fixing
- Kevin DuBois (community): Needs Information
- Mir development team: Pending requested
-
Diff: 113 lines (+93/-0)3 files modifiedtests/CMakeLists.txt (+1/-0)
tests/fatal/CMakeLists.txt (+8/-0)
tests/fatal/crashing_server.cpp (+84/-0)
Related bugs
Bug #1237332: Fatal exceptions raised in a compositing thread have no usable stack trace | Critical | Fix Released |
Related blueprints
Branch information
Recent revisions
- 1586. By Daniel van Vugt
-
tests: Add a "crashing_server" binary to ease testing of debugability issues
arising from crashes in compositor threads (like LP: #1237332).Hopefully it can some day be automated with some simple scripted analysis
of the resulting core file. But for now that's not possible while the basic
default server requires root/VT access to start at all. - 1585. By Kevin DuBois
-
remove unused StubDisplayDevice.
Approved by Alberto Aguirre, Robert Carr, PS Jenkins bot.
- 1584. By Robert Carr
-
Extract cursor image from the builtin cursor in preparation for client cursor API.
Approved by PS Jenkins bot, Alberto Aguirre, Chris Halse Rogers.
- 1583. By Andreas Pokorny
-
Make InputDispatcher replaceable
This change introduces a InputDispatcher interface that receives MirEvents.
The existing android-input based InputDispatcher is still the default dispatcher.
The configuration happens through the InputDispatcherConfiguration, which supplies
some additional related interfaces.
.Approved by PS Jenkins bot, Chris Halse Rogers, Robert Carr, Daniel d'Andrada.
- 1582. By Kevin DuBois
-
compositor: generate the renderlist for a particular compositor.
We were previously generating the whole list for every compositor, and then having whoever wanted to access the renderable's buffers provide a unique ID to the interface so the SwitchingBundle could distinguish between compositors. Now we have the compositor provides its ID at the time it wants the list generated.
advantages:
1) This MP has the compositor identify itself when generating the list, and then the components that need to use the buffer afterwards do not have to worry about which compositor they belong to (or how they have to identify themself).2) mg::Renderable is the interface that the compositor/display hardware optimizations wants to see. This simplifies that interface so that its tailored to the needs of the users of the interface, not to the implementation. Now all members of the interface are const functions with no function parameters needed.
3) We could have ended up with two ID's in SwitchingBundle that refer to the same compositor system. Now SwitchingBundle's will get one ID per compositor, and the compositors can call mg::Renderable:
:Buffer( ) repeatedly without affecting SwitchingBundle. 4) we were locking and unlocking a mutex 7 times every time we wanted to copy a renderable (lines 439-445). Shifting to this approach does the lock 1 time (line 370), and copies everything. This is what originally got me going down this path.
5) Although I'm still not a very big fan of using DisplayBufferCo
mpositor* as an id, this improves us from using a void* as an ID. This at least improves the confidence that we can have that only a DisplayBufferCo mpositor is requesting buffers. (bit of a pre-existing issue). Approved by PS Jenkins bot, Cemil Azizoglu, Chris Halse Rogers, Alan Griffiths, Robert Carr, Andreas Pokorny, Alberto Aguirre, Alexandros Frantzis.
- 1581. By Daniel van Vugt
-
Ensure the alpha component (if any) of the frame buffer is never changed
during compositing. Otherwise you could end up with translucent pixels which
produce incorrect looking screenshots/screencasts (LP: #1301210). Fixes: https:/ /bugs.launchpad .net/bugs/ 1301210. Approved by Robert Carr, Kevin DuBois, Alan Griffiths, Alberto Aguirre, PS Jenkins bot.
- 1580. By Daniel van Vugt
-
demo-shell: Select which monitor to rotate or change mode on using the
mouse cursor location.Approved by Alberto Aguirre, Kevin DuBois, Robert Carr, Alexandros Frantzis, PS Jenkins bot.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:mir/ubuntu