[Bug 1391976] Re: Loading libmircommon.so twice leads to a segfault in libprotobuf.so

2015-06-03 Thread Brandon Schaefer
This is an issue with SDL2. As with SDL2 it needs to load the OpenGL drivers to check if 3d acceleration is enabled. Once it checks it unloads the library. Then the app starts which needs to load the library again ad seg fault. -- You received this bug notification because you are a member of

[Bug 1391976] Re: Loading libmircommon.so twice leads to a segfault in libprotobuf.so

2015-06-03 Thread Daniel van Vugt
The trivial one-line workaround proposed in comments #3/#4 might work. I think I've used it before as a workaround on other Unixes too. ** Changed in: mir Status: Confirmed => Triaged ** Changed in: mir (Ubuntu) Status: Confirmed => Triaged -- You received this bug notification be

[Bug 1391976] Re: Loading libmircommon.so twice leads to a segfault in libprotobuf.so

2015-01-14 Thread Alexandros Frantzis
Analysis The core of the problem is that it's not safe to reuse libprotobuf after calling google::protobuf::ShutdownProtobufLibrary() without unloading and reloading the library first. Note that libraries/executables that use protobuf (e.g. libmirprotobuf) use libprotobuf code also during

[Bug 1391976] Re: Loading libmircommon.so twice leads to a segfault in libprotobuf.so

2015-01-16 Thread Alexandros Frantzis
Packages (for 2.6.1, vivid) with an _experimental_ patch that allows protobuf to re-initialize properly after google::protobuf::ShutdownProtobufLibrary() is called: https://launchpad.net/~afrantzis/+archive/ubuntu/staging/+packages -- You received this bug notification because you are a member o

[Bug 1391976] Re: Loading libmircommon.so twice leads to a segfault in libprotobuf.so

2015-01-20 Thread Alexandros Frantzis
I have started experimenting with an alternative solution which is much simpler than what I originally proposed. The solution is to ensure libprotobuf exposes only the symbols it has to (i.e. google protobuf related), to avoid binding to libstdc++, and thus working around the problem. I have pushe