Bisected somewhat. The flood of exceptions started here: ------------------------------------------------------------ revno: 3982 [merge] author: Brandon Schaefer <brandon.schae...@canonical.com> committer: Cemil Azizoglu <cemil.azizo...@canonical.com> branch nick: mir timestamp: Tue 2017-01-24 10:24:25 -0600 message: Deprecate mir_wait_for* ------------------------------------------------------------
I can't tell if that's different to the crash in the same function, or if it's just the same exception flood causing a crash in our release binaries... ** Changed in: mir Status: New => Triaged ** Changed in: mir/0.26 Status: New => Triaged ** Changed in: mir (Ubuntu) Status: New => Triaged ** Description changed: 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 + 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 + from /usr/lib/x86_64-linux-gnu/libmirclient.so.9 #3 0x00007fccec0e3a7a in ?? () - from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 + from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 #4 0x00007fccec09fd2d in ?? () - from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 + from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 #5 0x00007fccec09f018 in ?? () - from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 + from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 #6 0x00007fccec0e2c79 in ?? () - from /usr/lib/x86_64-linux-gnu/libmirserver.so.43 + 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 + at pthread_create.c:333 #9 0x00007fccec4710ff in clone () - at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 + 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 -- 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: Triaged 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