** Changed in: mir
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1661508
Title:
[regression] Nested server segfaults or rapidly logs exceptions when a
fullscreen client starts [in mir_presentation_chain_set_dropping_mode
... std::exception::what: Operation not permitted]
Status in Mir:
Fix Released
Status in Mir 0.26 series:
Fix Released
Status in mir package in Ubuntu:
Fix Released
Bug description:
Nested server segfaults when a fullscreen client starts
Using Mir 0.26.0 (zesty release):
The client dies:
[2017-02-03 15:05:44.315444] <ERROR> Mesa/NativeSurface: Caught exception at
Mir/EGL driver boundary (in advance_buffer):
/build/mir-1Sl_GZ/mir-0.26.0+17.04.20170126.3/src/client/no_tls_future-inl.h(76):
Throw in function void mir::client::PromiseStateBase<T>::break_promise() [with
T = std::shared_ptr<mir::client::MirBuffer>]
Dynamic exception type:
boost::exception_detail::error_info_injector<std::runtime_error>
std::exception::what: broken_promise
Because the server died:
Segmentation fault (core dumped)
(gdb) bt
#0 __GI___pthread_mutex_lock (mutex=0x0) at ../nptl/pthread_mutex_lock.c:67
#1 0x00007fcceb7b4003 in ?? ()
from /usr/lib/x86_64-linux-gnu/libmirclient.so.9
#2 0x00007fcceb7d1961 in mir_presentation_chain_set_dropping_mode ()
from /usr/lib/x86_64-linux-gnu/libmirclient.so.9
#3 0x00007fccec0e3a7a in ?? ()
from /usr/lib/x86_64-linux-gnu/libmirserver.so.43
#4 0x00007fccec09fd2d in ?? ()
from /usr/lib/x86_64-linux-gnu/libmirserver.so.43
#5 0x00007fccec09f018 in ?? ()
from /usr/lib/x86_64-linux-gnu/libmirserver.so.43
#6 0x00007fccec0e2c79 in ?? ()
from /usr/lib/x86_64-linux-gnu/libmirserver.so.43
#7 0x00007fccebcfab2f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007fcce95326ca in start_thread (arg=0x7fccde2b4700)
at pthread_create.c:333
#9 0x00007fccec4710ff in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
However in development builds the server does not die and just floods
the log instead:
[2017-02-03 16:52:44.382460] <ERROR> mirclient: Caught exception at client
library boundary (in mir_presentation_chain_set_dropping_mode): Dynamic
exception type: std::system_error
std::exception::what: Operation not permitted
[2017-02-03 16:52:44.399142] <ERROR> mirclient: Caught exception at client
library boundary (in mir_presentation_chain_set_dropping_mode): Dynamic
exception type: std::system_error
std::exception::what: Operation not permitted
[2017-02-03 16:52:44.415823] <ERROR> mirclient: Caught exception at client
library boundary (in mir_presentation_chain_set_dropping_mode): Dynamic
exception type: std::system_error
std::exception::what: Operation not permitted
[2017-02-03 16:52:44.432504] <ERROR> mirclient: Caught exception at client
library boundary (in mir_presentation_chain_set_dropping_mode): Dynamic
exception type: std::system_error
std::exception::what: Operation not permitted
*** WORKAROUND ***
Start your nested server with --nested-passthrough=OFF
Which works on the 0.26.0 release, but not on anything newer because you'll
then hit the more recent regression bug 1661521.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1661508/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp