yep, was the removal-of waithandle MP. needed some more checks before waiting for interval configuration.
** Changed in: mir/0.26 Assignee: (unassigned) => Kevin DuBois (kdub) ** Changed in: mir/0.26 Status: Triaged => In Progress ** Branch linked: lp:~kdub/mir/fix-1661508 -- 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: Triaged Status in Mir 0.26 series: In Progress Status in mir package in Ubuntu: Triaged 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