[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
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)
Triaged
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
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: [regression] mirscreencast 0.13 and later doesn't work at all (std::exception::what: Failed to mmap buffer 13, "Permission denied")

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
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

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

Revision history for this message
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
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in mir (Ubuntu):
status: New → Confirmed
Revision history for this message
dinamic (dinamic6661) wrote :

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

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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

Revision history for this message
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.