** Branch linked: lp:~ci-train-bot/mir/mir-ubuntu-xenial-2736

** Branch linked: lp:~ci-train-bot/mir/mir-ubuntu-yakkety-2783.1

-- 
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 Committed
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     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to