[regression] Exception when running phablet-screenshot [std::exception::what: Attempt to set swap interval on screencast is invalid]
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | Mir |
Confirmed
|
High
|
Unassigned | |
| | 0.12 |
Won't Fix
|
High
|
Unassigned | |
| | 0.13 |
Won't Fix
|
High
|
Unassigned | |
| | 0.14 |
Won't Fix
|
High
|
Unassigned | |
| | mir (Ubuntu) |
High
|
Unassigned | ||
| | phablet-tools (Ubuntu) |
Undecided
|
Unassigned | ||
Bug Description
current build number: 110
device name: mako
channel: ubuntu-
last update: 2015-02-24 22:35:35
version version: 110
version ubuntu: 20150224
version device: 20150210
version custom: 20150224
rsalveti@evasys:~$ phablet-screenshot /tmp/foo.png
I: Dumping fb0 ...
[1424817826.846470] Loader: Loading modules from: /usr/lib/
[1424817826.847569] Loader: Loading module: /usr/lib/
[1424817826.848393] Loader: Loading module: /usr/lib/
[1424817826.849583] Loader: Loading module: /usr/lib/
[1424817826.944654] <ERROR> mircommon: Caught exception at Mir/EGL driver boundary (in setSwapInterval): /build/
Dynamic exception type: N5boost16except
std::exception:
3004 KB/s (3932160 bytes in 1.278s)
I: Done
phablet-tools - 1.1+15.
Related branches
- PS Jenkins bot: Approve (continuous-integration) on 2015-02-09
- Kevin DuBois (community): Approve on 2015-02-09
-
Diff: 260 lines (+34/-32)9 files modifiedsrc/client/mir_buffer_stream_api.cpp (+1/-1)
src/client/mir_connection_api.cpp (+1/-1)
src/client/mir_cursor_api.cpp (+1/-1)
src/client/mir_prompt_session_api.cpp (+1/-1)
src/client/mir_screencast_api.cpp (+1/-1)
src/client/mir_surface_api.cpp (+1/-1)
src/common/graphics/android/mir_native_window.cpp (+13/-14)
src/include/common/mir/uncaught.h (+7/-1)
src/platforms/mesa/client/native_surface.cpp (+8/-11)
| Ricardo Salveti (rsalveti) wrote : | #1 |
| Ricardo Salveti (rsalveti) wrote : | #2 |
(gdb) catch throw
Catchpoint 1 (throw)
(gdb) r -m /run/mir_socket -n1 -f /tmp/mir_
Starting program: /usr/bin/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-
[1424819317.052580] Loader: Loading modules from: /usr/lib/
[1424819317.055296] Loader: Loading module: /usr/lib/
[1424819317.067687] Loader: Loading module: /usr/lib/
[1424819317.181522] Loader: Loading module: /usr/lib/
[New Thread 0xb63fb440 (LWP 5734)]
Catchpoint 1 (exception thrown), __cxxabiv1:
dest=0xb6f97921 <boost:
63 ../../.
(gdb) bt full
#0 __cxxabiv1:
dest=0xb6f97921 <boost:
globals = <optimized out>
#1 0xb6f98228 in boost::
No locals.
#2 0xb6f982ce in boost::
current_
file=0xb6fadfe4 "/build/
No locals.
#3 0xb6f97660 in mir::client:
lock = {_M_device = 0xb5a00ac0, _M_owns = true}
setting = <incomplete type>
result = <incomplete type>
#4 0xb6485690 in mir::graphics:
#5 0xb68be7f6 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (c...
| Daniel van Vugt (vanvugt) wrote : Re: Exception when running phablet-screenshot (mako/vivid 110) [std::exception::what: Attempt to set swap interval on screencast is invalid] | #3 |
I think Mir's at fault here.
It's unreasonable to expect a client or shell to know it's being screencast and avoid setting swap interval. Mir should handle (or ignore) this transparently.
| summary: |
Exception when running phablet-screenshot (mako/vivid 110) + [std::exception::what: Attempt to set swap interval on screencast is + invalid] |
| tags: | added: screencast |
| Changed in mir: | |
| importance: | Undecided → Medium |
| Changed in mir (Ubuntu): | |
| importance: | Undecided → Medium |
| Changed in mir: | |
| status: | New → Triaged |
| Changed in mir (Ubuntu): | |
| status: | New → Triaged |
| Daniel van Vugt (vanvugt) wrote : Re: [regression] Exception when running phablet-screenshot (mako/vivid 110) [std::exception::what: Attempt to set swap interval on screencast is invalid] | #4 |
Found the problem came from:
-------
revno: 2261 [merge]
author: Robert Carr <email address hidden>
committer: Tarmac
branch nick: development-branch
timestamp: Mon 2015-01-26 21:29:52 +0000
message:
Factor a common buffer stream implementation out of MirScreencast and MirSurface.
Approved by PS Jenkins bot, Alberto Aguirre, Chris Halse Rogers, Alexandros Frantzis.
-------
| summary: |
- Exception when running phablet-screenshot (mako/vivid 110) + [regression] Exception when running phablet-screenshot (mako/vivid 110) [std::exception::what: Attempt to set swap interval on screencast is invalid] |
| tags: | added: regression |
| Cemil Azizoglu (cemil-azizoglu) wrote : | #5 |
Some comms in the chat... recording here... Upping the priority accordingly, and assigning to racarr.
:<ERROR> mircommon: Caught exception at Mir/EGL driver boundary (in setSwapInterval): /build/
Dynamic exception type: N5boost16except
std::exception
^^ https:/
<kalikiana> AlbertA: so it's being worked on? there's some 20 failures I can attribute to that atm in ui toolkit staging
| Changed in mir: | |
| importance: | Medium → High |
| assignee: | nobody → Robert Carr (robertcarr) |
| Robert Carr (robertcarr) wrote : | #6 |
Should be fixed in r2307
revno: 2307 [merge]
author: Robert Carr <email address hidden>
committer: Tarmac
branch nick: development-branch
timestamp: Tue 2015-02-10 01:21:53 +0000
message:
Catch exceptions at android driver boundary.
Approved by PS Jenkins bot, Kevin DuBois.
| Changed in mir: | |
| status: | Triaged → Fix Committed |
| Changed in mir (Ubuntu): | |
| status: | Triaged → Fix Released |
| Changed in mir (Ubuntu): | |
| status: | Fix Released → Confirmed |
| Changed in mir: | |
| milestone: | none → 0.13.0 |
| Changed in mir (Ubuntu): | |
| status: | Confirmed → Triaged |
| importance: | Medium → High |
| Daniel van Vugt (vanvugt) wrote : | #7 |
Actually Robert slipped his proposed fix just in time into the 0.11.0 release. And the 0.12 branch inherits from that...
-------
revno: 2287
tags: v0.11.0
committer: Robert Carr <email address hidden>
branch nick: 0.11
timestamp: Mon 2015-02-09 13:07:25 -0800
message:
Cherrypick lp:~mir-team/mir/catch-exceptions-at-android-driver-boundary
-------
Sadly, this bug was reported against the same release it's meant to be fixed in. Although it's hard to tell what came first because the pre-release with the bug and the apparent fix both occurred on the same day.
It's not yet clear if the bug is fixed in any branch yet.
| Changed in mir: | |
| status: | Fix Committed → Incomplete |
| no longer affects: | mir/0.12 |
| Changed in mir: | |
| milestone: | 0.13.0 → 0.11.0 |
| Changed in mir (Ubuntu): | |
| status: | Triaged → Incomplete |
| Daniel van Vugt (vanvugt) wrote : | #8 |
If it is fixed, then it was fix released in 0.11.0
| Daniel van Vugt (vanvugt) wrote : | #9 |
OK, just assuming it was indeed fixed unless proven otherwise.
| Changed in mir: | |
| status: | Incomplete → Fix Released |
| Changed in mir (Ubuntu): | |
| status: | Incomplete → Fix Released |
| Changed in mir: | |
| status: | Fix Released → Confirmed |
| milestone: | 0.11.0 → 0.13.0 |
| Alberto Aguirre (albaguirre) wrote : | #10 |
I still see this exception when testing in the BQ phone using mir-0.12.
| Changed in mir: | |
| assignee: | Robert Carr (robertcarr) → nobody |
| kevin gunn (kgunn72) wrote : | #11 |
i'm seeing this on vivid-proposed on arale
| Changed in mir (Ubuntu): | |
| status: | Fix Released → Confirmed |
| Daniel van Vugt (vanvugt) wrote : | #12 |
Confirmed the bug is in 0.12 also by duplicate bug 1447366.
| Changed in mir: | |
| milestone: | 0.13.0 → 0.14.0 |
| summary: |
- [regression] Exception when running phablet-screenshot (mako/vivid 110) + [regression] Exception when running phablet-screenshot [std::exception::what: Attempt to set swap interval on screencast is invalid] |
| Robert Carr (robertcarr) wrote : | #13 |
It's just a log now right?
| tags: | added: bufferstream-regression |
| Changed in mir: | |
| assignee: | Robert Carr (robertcarr) → nobody |
| Changed in mir: | |
| milestone: | 0.13.1 → 0.16.0 |
| Daniel van Vugt (vanvugt) wrote : | #14 |
I'd like to see this fixed, but we have no definite plans to aim for a particular milestone.
| Changed in mir: | |
| milestone: | 0.16.0 → none |

Seems it's not a fatal issue though, as the png was extracted correctly.