SIGSEGV in fdb_run_network()

I encountered a SIGSEGV error when calling fdb_run_network(), the stack is as follows:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI_getenv (name=0x7f14dfc58ff0 "B_TLS_CERTIFICATE_FILE") at getenv.c:84
84      getenv.c: No such file or directory.
[Current thread is 1 (Thread 0x7f14cc876700 (LWP 28214))]
(gdb) bt
#0  __GI_getenv (name=0x7f14dfc58ff0 "B_TLS_CERTIFICATE_FILE") at getenv.c:84
#1  0x00007f14df84b723 in fdb_transaction_set_option () from /lib/libfdb_c.so
#2  0x00007f14df86a3a0 in fdb_transaction_set_option () from /lib/libfdb_c.so
#3  0x00007f14df86d00c in fdb_transaction_set_option () from /lib/libfdb_c.so
#4  0x00007f14df813a04 in fdb_transaction_set_option () from /lib/libfdb_c.so
#5  0x00007f14df2785de in fdb_transaction_set_option () from /lib/libfdb_c.so
#6  0x00007f14df6c3228 in fdb_transaction_set_option () from /lib/libfdb_c.so
#7  0x00007f14df6c336b in fdb_transaction_set_option () from /lib/libfdb_c.so
#8  0x00007f14df5f34d0 in fdb_transaction_set_option () from /lib/libfdb_c.so
#9  0x00007f14df81257e in fdb_transaction_set_option () from /lib/libfdb_c.so
#10 0x00007f14df151ef2 in fdb_transaction_set_option () from /lib/libfdb_c.so
#11 0x00007f14df6bbbcf in fdb_transaction_set_option () from /lib/libfdb_c.so
#12 0x00007f14df109b32 in fdb_transaction_set_option () from /lib/libfdb_c.so
#13 0x00007f14df0e5089 in fdb_run_network () from /lib/libfdb_c.so
#14 0x0000559993b248d5 in runFdbNetwork ()
#15 0x00007f14de0a7609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#16 0x00007f14dd5b8133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

There is a fdb parameter FDB_TLS_CERTIFICATE_FILE, but the stack shows B_TLS_CERTIFICATE_FILE.

I referred to this issue Issues · grpc/grpc · GitHub

it was a buffer overflow of the output variable.

Please give me some suggestions, thanks!

It’s the fault of our environment.