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
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1619616

Title:
  Mir test fails with protobuf3: Protobuf-can-be-reloaded (SEGFAULT)

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1619616/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to