-
Bug
-
Resolution: Open
-
High
-
18.07
Segmentation fault in vl_msg_api_handler_with_vm_node() while calling to vnet_get_summary_stats(), backtrace below:
Thread 1 "vpp_main" received signal SIGSEGV, Segmentation fault.0x00007fa37f79c0d7 in vl_msg_api_handler_with_vm_node (am=0x7fa37f9c01b8 <cli_show_api_ring_command+56>, am@entry=0x7fa37f9c0020 <api_main>, the_msg=0x3007b924, vm=vm@entry=0x7fa37f792f80 <vlib_global_main>, node=node@entry=0x7fa2fd8a3000) at /home/lukasz/deploy/vpp/build-data/../src/vlibapi/api_shared.c:509 509 /home/lukasz/deploy/vpp/build-data/../src/vlibapi/api_shared.c: No such file or directory. (gdb) bt #0 0x00007fa37f79c0d7 in vl_msg_api_handler_with_vm_node (am=0x7fa37f9c01b8 <cli_show_api_ring_command+56>, am@entry=0x7fa37f9c0020 <api_main>, the_msg=0x3007b924, vm=vm@entry=0x7fa37f792f80 <vlib_global_main>, node=node@entry=0x7fa2fd8a3000) at /home/lukasz/deploy/vpp/build-data/../src/vlibapi/api_shared.c:509 #1 0x00007fa37f7a37ca in void_mem_api_handle_msg_i (am=<optimized out>, q=<optimized out>, node=0x7fa2fd8a3000, vm=0x7fa37f792f80 <vlib_global_main>) at /home/lukasz/deploy/vpp/build-data/../src/vlibmemory/memory_api.c:672 #2 vl_mem_api_handle_msg_main (vm=vm@entry=0x7fa37f792f80 <vlib_global_main>, node=node@entry=0x7fa2fd8a3000) at /home/lukasz/deploy/vpp/build-data/../src/vlibmemory/memory_api.c:682 #3 0x00007fa37f7b3188 in vl_api_clnt_process (vm=<optimized out>, node=0x7fa2fd8a3000, f=<optimized out>) at /home/lukasz/deploy/vpp/build-data/../src/vlibmemory/vlib_api.c:353 #4 0x00007fa37f53ad36 in vlib_process_bootstrap (_a=<optimized out>) at /home/lukasz/deploy/vpp/build-data/../src/vlib/main.c:1231 #5 0x00007fa37e6bf038 in clib_calljmp () at /home/lukasz/deploy/vpp/build-data/../src/vppinfra/longjmp.S:110 #6 0x00007fa2fdb55e30 in ?? () #7 0x00007fa37f53bef9 in vlib_process_startup (f=0x0, p=0x7fa2fd8a3000, vm=0x7fa37f792f80 <vlib_global_main>) at /home/lukasz/deploy/vpp/build-data/../src/vlib/main.c:1253 #8 dispatch_process (vm=0x7fa37f792f80 <vlib_global_main>, p=0x7fa2fd8a3000, last_time_stamp=33703750830160, f=0x0) at /home/lukasz/deploy/vpp/build-data/../src/vlib/main.c:1298 #9 0x6f72642d6373696d in ?? () #10 0x7265666675622d70 in ?? () #11 0x6e72757465722d73 in ?? () #12 0x000000006425203a in ?? () #13 0x0000000900000009 in ?? () #14 0x6373696d0000001b in ?? () #15 0x75622d706f72642d in ?? () #16 0x61632d7372656666 in ?? () #17 0x00006425203a6c6c in ?? () #18 0x0000000900000000 in ?? () #19 0x7f52b8c000000046 in ?? () #20 0xfd8be54000007fa3 in ?? () #21 0x0000205000007fa2 in ?? () #22 0x0000000000000000 in ?? ()
Steps to reproduce (VPP is running in a background):
Run python script:
import vpp_papi vpp = vpp_papi.VPP() vpp.connect("test") vpp.api.vnet_get_summary_stats()
VPP log shows:
Jun 21 14:39:03 l3 vnet[32038]: received signal SIGSEGV, PC 0x7fa37f79c0d7, faulting address 0x335
It looks is_mp_safe at api_shared.c:509 is null (I don't know why).