SIGSEGV mit libfbclient 3, libfbclient 2.5 works ok lazarus / 16-Databases ---------------------------------------------------------------------- grl · 2020-03-06 23:03 Hi! I have linux console program using libfbclient.so to access a Firebird database server. Using a client library from Firebird 2.5 everything works fine. When using a client library from Firebird 3 i get a SIGSEGV after my program finishes somewhere in the depths of the freepascal finalization... I also tried using different Firebird components - same error with UIB and with UNIDac. using gdb I could get the following backtrace: Code: [Select]#0  0x00007ffff77d23d8 in ?? () from /usr/lib/x86_64-linux-gnu/libfbclient.so #1  0x00007ffff77476f5 in ?? () from /usr/lib/x86_64-linux- gnu/libfbclient.so #2  0x00007ffff77493f6 in ?? () from /usr/lib/x86_64-linux- gnu/libfbclient.so #3  0x00007ffff77228b3 in ?? () from /usr/lib/x86_64-linux- gnu/libfbclient.so #4  0x00007ffff7723585 in fb_shutdown () from /usr/lib/x86_64-linux- gnu/libfbclient.so #5  0x00007ffff77da2d2 in ?? () from /usr/lib/x86_64-linux- gnu/libfbclient.so #6  0x00007ffff77da429 in ?? () from /usr/lib/x86_64-linux- gnu/libfbclient.so #7  0x00007ffff7dfad8c in __run_exit_handlers (status=0, listp=0x7ffff7f7c718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108 #8  0x00007ffff7dfaeba in __GI_exit (status=) at exit.c:139 #9  0x00007ffff7de50a2 in __libc_start_main (main=0x0, argc=0, argv=0x0, init=, fini=, rtld_fini=, stack_end=0x0) at ../csu/libc-start.c:342 #10 0x0000000000000000 in ?? () Anyone else with this problem? Anyone an idea how to proceed? regards Lukas ---------------------------------------------------------------------- datiscum · 2020-03-07 08:51 I don't understand why it should only happen on exit, but have you checked the dependencies of libfbclient.so ? Ubuntu and debian do not have the original libfbclient3.so dependencies. Maybe that's why the NULL address. ldd libfbclient.so         linux-vdso.so.1 (0x00007ffc67152000)         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcce74c9000)         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcce72c5000)         libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007fcce70a2000)         libtommath.so.0 => /usr/lib/./../lib/libtommath.so.0 (0x00007fcce6e8b000)         libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcce6b02000)         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcce6764000)         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcce654c000)         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcce632d000)         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcce5f3c000)         /lib64/ld-linux-x86-64.so.2 (0x00007fcce7aad000)         libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fcce5d12000) ---------------------------------------------------------------------- grl · 2020-03-07 18:47 Thanks, that helped me to make some progress. using a libfbclient directly from firebirdsql.org works as expected - I can live with that. But I still would be interested about the reason why the debian- provided libfbclient.so does not work. ldd shows some differences, but I still think I met all dependencies. ldd on the debian library: Code: [Select]linux-vdso.so.1 (0x00007ffd323a3000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fab316d3000) libncurses.so.6 => /lib/x86_64-linux-gnu/libncurses.so.6 (0x00007fab316a9000) libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fab3167b000) libtommath.so.1 => /usr/lib/x86_64-linux-gnu/libtommath.so.1 (0x00007fab3165d000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fab314d9000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fab31356000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fab3133a000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fab31319000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fab31158000) /lib64/ld-linux-x86-64.so.2 (0x00007fab318d0000) ldd on the library from firebirdsql.org: Code: [Select]linux-vdso.so.1 (0x00007ffc178ee000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa4bca1e000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa4bca19000) libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007fa4bc9f3000) libtommath.so.0 => /usr/lib/x86_64-linux-gnu/libtommath.so.0 (0x00007fa4bc9d5000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa4bc851000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa4bc6ce000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa4bc6b2000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa4bc691000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa4bc4d0000) /lib64/ld-linux-x86-64.so.2 (0x00007fa4bce4c000) libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fa4bc4a4000) regards Lukas