This shows the problem, but not the underlying cause: $ gdb bin/mir_test_reload_protobufGNU gdb (Ubuntu 7.11.90.20160906-0ubuntu1) 7.11.90.20160906-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from bin/mir_test_reload_protobuf...done. (gdb) b /home/alan/display_server/mir/tests/loader-tests/test_reload.c:36 No source file named /home/alan/display_server/mir/tests/loader-tests/test_reload.c. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (/home/alan/display_server/mir/tests/loader-tests/test_reload.c:36) pending. (gdb) r Starting program: /home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/mir_test_reload_protobuf [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". MIR_CLIENT_PLATFORM_PATH=/home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/../lib/client-modules/ MIR_SERVER_PLATFORM_PATH=/home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/../lib/server-modules/ LD_LIBRARY_PATH=/home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/../lib exec=/home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/mir_test_reload_protobuf.bin process 2335 is executing new program: /home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/mir_test_reload_protobuf.bin [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Breakpoint 1, main (argc=1, argv=0x7fffffffde58) at /home/alan/display_server/mir/tests/loader-tests/test_reload.c:36 36 dl = dlopen(libname, RTLD_NOW); (gdb) info share >From To Syms Read Shared Object Library 0x00007ffff7dd8aa0 0x00007ffff7df6130 Yes /lib64/ld-linux-x86-64.so.2 0x00007ffff7bd4d80 0x00007ffff7bd598e Yes /lib/x86_64-linux-gnu/libdl.so.2 0x00007ffff79bba60 0x00007ffff79c8e01 Yes /lib/x86_64-linux-gnu/libpthread.so.0 0x00007ffff760e9c0 0x00007ffff775f0c3 Yes /lib/x86_64-linux-gnu/libc.so.6 (gdb) n 37 if (dl) (gdb) info share >From To Syms Read Shared Object Library 0x00007ffff7dd8aa0 0x00007ffff7df6130 Yes /lib64/ld-linux-x86-64.so.2 0x00007ffff7bd4d80 0x00007ffff7bd598e Yes /lib/x86_64-linux-gnu/libdl.so.2 0x00007ffff79bba60 0x00007ffff79c8e01 Yes /lib/x86_64-linux-gnu/libpthread.so.0 0x00007ffff760e9c0 0x00007ffff775f0c3 Yes /lib/x86_64-linux-gnu/libc.so.6 0x00007ffff7360c60 0x00007ffff73c3e86 Yes /home/alan/.CLion2016.2/system/cmake/generated/mir-9ec817d/9ec817d/Debug/bin/../lib/libmirprotobuf.so.3 0x00007ffff710ddd0 0x00007ffff712a3c6 Yes /usr/local/lib/libprotobuf-lite.so.10 0x00007ffff6df8900 0x00007ffff6ea7c79 Yes (*) /usr/lib/x86_64-linux-gnu/libstdc++.so.6 0x00007ffff6b58a90 0x00007ffff6b688e5 Yes (*) /lib/x86_64-linux-gnu/libgcc_s.so.1 0x00007ffff6852710 0x00007ffff68c3bfa Yes /lib/x86_64-linux-gnu/libm.so.6 (*): Shared library is missing debugging information. (gdb) c Continuing. [0] dlopen `libmirprotobuf.so.3' = 0x5555557564c0 Breakpoint 1, main (argc=1, argv=0x7fffffffde58) at /home/alan/display_server/mir/tests/loader-tests/test_reload.c:36 36 dl = dlopen(libname, RTLD_NOW); (gdb) info share >From To Syms Read Shared Object Library 0x00007ffff7dd8aa0 0x00007ffff7df6130 Yes /lib64/ld-linux-x86-64.so.2 0x00007ffff7bd4d80 0x00007ffff7bd598e Yes /lib/x86_64-linux-gnu/libdl.so.2 0x00007ffff79bba60 0x00007ffff79c8e01 Yes /lib/x86_64-linux-gnu/libpthread.so.0 0x00007ffff760e9c0 0x00007ffff775f0c3 Yes /lib/x86_64-linux-gnu/libc.so.6 0x00007ffff710ddd0 0x00007ffff712a3c6 Yes /usr/local/lib/libprotobuf-lite.so.10 0x00007ffff6df8900 0x00007ffff6ea7c79 Yes (*) /usr/lib/x86_64-linux-gnu/libstdc++.so.6 0x00007ffff6b58a90 0x00007ffff6b688e5 Yes (*) /lib/x86_64-linux-gnu/libgcc_s.so.1 0x00007ffff6852710 0x00007ffff68c3bfa Yes /lib/x86_64-linux-gnu/libm.so.6 (*): Shared library is missing debugging information. With protobuf-2.6.1 the libprotobuf-lite library is unloaded at this point. (And that means that the next iteration of this loop repeats the "one time" initialization - the patch in #18 works around it.) I've yet to find the reason that the library remains resident when its only dependent is unloaded. -- 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/1619616 Title: Mir test fails with protobuf3: Protobuf-can-be-reloaded (SEGFAULT) Status in Mir: Confirmed Status in mir package in Ubuntu: Confirmed Status in protobuf package in Ubuntu: In Progress Bug description: builds with 3.0.0-7, then has one failing test: test 19 Start 19: Protobuf-can-be-reloaded 19: Test command: /<<BUILDDIR>>/mir-0.24.0+16.10.20160815.3/obj-powerpc64le-linux-gnu/bin/mir_test_reload_protobuf 19: Test timeout computed to be: 9.99988e+06 19/19 Test #19: Protobuf-can-be-reloaded ..........................***Exception: SegFault 0.17 sec 95% tests passed, 1 tests failed out of 19 Total Test time (real) = 125.73 sec The following tests FAILED: 19 - Protobuf-can-be-reloaded (SEGFAULT) Errors while running CTest Makefile:85: recipe for target 'test' failed make[2]: *** [test] Error 8 To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1619616/+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