The core issue seems to be that in this scenario the platform shared library is unloaded before the configuration object is being destroyed. The configuration object is holding a weak pointer to a shared pointer object (shared_ptr for the client platform factory) that was instantiated inside the platform library, and when the library is unloaded, type information and vtable for that shared pointer type vanishes too. When we try to destroy the weak_ptr we end up accessing memory that is invalid.
I have proposed an MP that spikes a fix for this: https://code.launchpad.net/~afrantzis/mir/fix-1358191-connect-segv- spike/+merge/232108 by keeping the library loaded for as long as needed. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1358191 Title: [regression] Clients are crashing (SIGSEGV) on mir_connect() To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1358191/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs