I suspect the right solution is to fix the approach taken in Mesa to detecting Mir:
All the above modules should be loaded with RTLD_LOCAL. As far as I can tell they are so they shouldn't interact. However, Mir's mesa.so.X client platform module reloads itself with RTLD_GLOBAL so that Mesa can find a Mir entry point. (Yes, this is an ugly hack.) That is likely what causes symbols to be resolved from the wrong protobuf library and the problems seen here. ** Also affects: mesa Importance: Undecided Status: New -- 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/1535297 Title: Unity8 crashes on logout with "Error in `unity8': double free or corruption" called from libprotobuf.so.9, called from libprotobuf- lite.so.9 Status in Mesa: New Status in Mir: Confirmed Status in libphonenumber package in Ubuntu: Confirmed Status in mir package in Ubuntu: Confirmed Status in protobuf package in Ubuntu: Confirmed Status in telephony-service package in Ubuntu: Confirmed Status in unity8 package in Ubuntu: Confirmed Bug description: This is happening on a fresh setup, which is basically: Xenial 17Jan iso + unity8-desktop-session-mir package When I logout, I get a black screen. Turns out unity8 is crashing with a "double free or linked list corruption" Please find unity8.log attached To manage notifications about this bug go to: https://bugs.launchpad.net/mesa/+bug/1535297/+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