[regression] mirscreencast 0.13 and later gives error and exception (std::exception::what: Failed to mmap buffer 13, "Permission denied")

Bug #1454142 reported by Daniel van Vugt on 2015-05-12
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mir
Triaged
Medium
Unassigned
0.13
Won't Fix
Medium
Unassigned
mir (Ubuntu)
Medium
Unassigned

Bug Description

[regression] mirscreencast 0.13 and later throws an exception:

# bin/mirscreencast -n1
MIR_CLIENT_PLATFORM_PATH=bin/../lib/client-modules/
MIR_SERVER_PLATFORM_PATH=bin/../lib/server-modules/
MIR_SERVER_PLATFORM_INPUT_LIB=bin/../lib/server-modules/input-stub.so
LD_LIBRARY_PATH=bin/../lib
exec=bin/.mirscreencast-uninstalled
[1431419911.659329] <ERROR> MirBufferStreamAPI: Caught exception at client library boundary (in mir_buffer_stream_get_graphics_region): /home/dan/bzr/mir/dev/src/platforms/mesa/client/client_buffer.cpp(63): Throw in function {anonymous}::ShmMemoryRegion::ShmMemoryRegion(const std::shared_ptr<mir::client::mesa::BufferFileOps>&, int, const mir::geometry::Size&, mir::geometry::Stride, MirPixelFormat)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorISt13runtime_errorEEEE
std::exception::what: Failed to mmap buffer
13, "Permission denied"

And that's running as root(!)

Workaround: Use the installed version 0.12.1 of mirscreencast on vivid, which works still.

tags: added: screencast

Same bug exists in the 0.13 branch. But the 0.12 branch works fine.

summary: - [regression] mirscreencast on trunk lp:mir doesn't work at all
+ [regression] mirscreencast 0.13 and later doesn't work at all
(std::exception::what: Failed to mmap buffer 13, "Permission denied")
summary: - [regression] mirscreencast 0.13 and later doesn't work at all
+ [regression] mirscreencast 0.13 and later crashes with
(std::exception::what: Failed to mmap buffer 13, "Permission denied")
description: updated
summary: - [regression] mirscreencast 0.13 and later crashes with
+ [regression] mirscreencast 0.13 and later gives error and exception
(std::exception::what: Failed to mmap buffer 13, "Permission denied")
description: updated
Changed in mir:
importance: High → Medium
Daniel van Vugt (vanvugt) wrote :

Hmm, actually it's still working even with the exception. Dropped importance.

Alberto Aguirre (albaguirre) wrote :

Yeah it's "benign".

mirscreencast now attempts to use the buffer stream API to map the buffer (which worksaround some android drivers that return bad pixels if you do glReadPixels on a context that was not rendered in that same process).

If it fails (which produces the error log) then it falls back to the EGL/glReadPixels instead.

Changed in mir:
milestone: 0.14.0 → 0.15.0
tags: added: bufferstream-regression
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
dinamic (dinamic6661) wrote :

i also don't get any keyboard events after using mirscreencast, i have to logout/login

Daniel van Vugt (vanvugt) wrote :

dinamic: That might be bug 1474132 you're talking about. If not, please log a new bug for it.

Changed in mir:
milestone: 0.15.0 → 0.16.0
Daniel van Vugt (vanvugt) wrote :

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
Andrea Bernabei (faenil) wrote :

any plan yet? still buggy in

mir-utils 0.24.0+16.04.20160815.3-0ubuntu2

I thought the screencasting wasn't working, until I found this thread

Daniel van Vugt (vanvugt) wrote :

It's a harmless exception and does not mean anything is faulty.

We've just failed to avoid worrying the user into thinking something is broken. The message needs to be hidden from the user.

Changed in mir (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers