Project

General

Profile

Bug #52907 ยป dpdk_segment_fault.txt

chunsong feng, 10/13/2021 02:41 AM

 
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/aarch64-redhat-linux-gnu/bin/ceph_perf_msgr_server 172.19.36.101:4567 1 1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0xfffff554c880 (LWP 1211355)]
[New Thread 0xfffff4d3c880 (LWP 1211356)]
This tool won't handle connection error alike things,
please ensure the proper network environment to test.
Or ctrl+c when meeting error and restart tests
using ms-public-type async+dpdk
bind ip:port 172.19.36.101:4567
worker threads 1
thinktime(us) 1
[New Thread 0xfffff452c880 (LWP 1211358)]
2021-10-12T15:09:07.232+0800 fffff58173c0 10 CompressorRegistry(0xaaaaac2a0298) _refresh_config ms_osd_compression_mode 0 ms_osd_compression_methods [1,2,3,4] ms_osd_compress_above_min_size 1024 ms_compress_secure 0

Thread 1 "ceph_perf_msgr_" hit Breakpoint 1, NetworkStack::start (this=0xaaaaab4c1880)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/Stack.cc:125
125 spawn_worker(std::move(thread));
(gdb) p &thread
$21 = (std::function<void()> *) 0xffffffffe0b8
(gdb) c
Continuing.
[New Thread 0xfffff3d1c880 (LWP 1211359)]
EAL: Detected 96 lcore(s)
EAL: Detected 4 NUMA nodes
Option -w, --pci-whitelist is deprecated, use -a, --allow option instead
Option -w, --pci-whitelist is deprecated, use -a, --allow option instead
[New Thread 0xfffff2f9c880 (LWP 1211360)]
EAL: Multi-process socket /var/run/dpdk/rte_client.admin/mp_socket
[New Thread 0xfffff278c880 (LWP 1211361)]
EAL: Selected IOVA mode 'PA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
[New Thread 0xfffff1f7c880 (LWP 1211362)]
[New Thread 0xfffff176c880 (LWP 1211363)]
[New Thread 0xfffff0f5c880 (LWP 1211364)]
[New Thread 0xfffff074c880 (LWP 1211365)]
[New Thread 0xffffeff3c880 (LWP 1211366)]
[New Thread 0xffffef72c880 (LWP 1211367)]
[New Thread 0xffffeef1c880 (LWP 1211368)]
EAL: using IOMMU type 1 (Type 1)
EAL: Probe PCI driver: net_hns3_vf (19e5:a22f) device: 0000:7d:01.0 (socket 0)
EAL: Probe PCI driver: net_hns3_vf (19e5:a22f) device: 0000:7d:02.6 (socket 0)
[New Thread 0xffffee70c880 (LWP 1211369)]
EAL: No legacy callbacks, legacy socket not created

Thread 1 "ceph_perf_msgr_" hit Breakpoint 2, DPDKStack::spawn_worker(std::function<void ()>&&) (this=0xaaaaab4c1880, func=...)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:273
273 _eal.execute_on_master([adapted_func, core_id, this]() {
(gdb) info locals
r = 0
__func__ = "spawn_worker"
__PRETTY_FUNCTION__ = "virtual void DPDKStack::spawn_worker(std::function<void()>&&)"
nr_worker = 0
core_id = 1
adapted_func = 0xaaaaab3e9d40
(gdb) l
268 if (--nr_worker == 0) {
269 break;
270 }
271 }
272 void *adapted_func = static_cast<void*>(&(funcs.back()));
273 _eal.execute_on_master([adapted_func, core_id, this]() {
274 int r = rte_eal_remote_launch(dpdk_thread_adaptor, adapted_func, core_id);
275 if (r < 0) {
276 lderr(cct) << __func__ << " remote launch failed, r=" << r << dendl;
277 ceph_abort();
(gdb) p funcs.back()
$22 = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16,
static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997720064}, _M_pod_data = "\200\030L\253\252\252\000\000\000\000R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}
(gdb) p funcs
$23 = std::vector of length 1, capacity 1 = {
{<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16,
static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997720064}, _M_pod_data = "\200\030L\253\252\252\000\000\000\000R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}}
(gdb) p funcs[0]
$24 = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16,
static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997720064}, _M_pod_data = "\200\030L\253\252\252\000\000\000\000R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}
(gdb) p &funcs[0]
$25 = (std::function<void()> *) 0xaaaaab3e9d40
(gdb) p &funcs
$26 = (std::vector<std::function<void()>, std::allocator<std::function<void()> > > *) 0xaaaaab4c18b0
(gdb) p this
$27 = (DPDKStack * const) 0xaaaaab4c1880
(gdb) c
Continuing.
2021-10-12T15:10:54.087+0800 fffff452c880 1 heartbeat_map reset_timeout 'ServerDispatcher::op_tp thread 0xfffff452c880' had timed out after 60.000003815s
[Switching to Thread 0xfffff3d1c880 (LWP 1211359)]

Thread 5 "ceph_perf_msgr_" hit Breakpoint 2, DPDKStack::<lambda()>::operator()(void) const (__closure=0xaaaaab3e9be0)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:273
273 _eal.execute_on_master([adapted_func, core_id, this]() {
(gdb) p funcs
$28 = std::vector of length 1, capacity 1 = {
{<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16,
static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997720064}, _M_pod_data = "\200\030L\253\252\252\000\000\000\000R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}}
(gdb) bt
#0 DPDKStack::<lambda()>::operator()(void) const (__closure=0xaaaaab3e9be0)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:273
#1 0x0000fffff6468334 in std::_Function_handler<void(), DPDKStack::spawn_worker(std::function<void()>&&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/8/bits/std_function.h:297
#2 0x0000fffff74c588c in std::function<void ()>::operator()() const (this=0xffffffffe018)
at /usr/include/c++/8/bits/std_function.h:687
#3 0x0000fffff6469918 in dpdk::eal::execute_on_master(std::function<void ()>&&)::{lambda()#1}::operator()() const (
__closure=0xfffff3d1bc78) at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/dpdk_rte.h:56
#4 0x0000fffff6475e30 in std::_Function_handler<void (), dpdk::eal::execute_on_master(std::function<void ()>&&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/8/bits/std_function.h:297
#5 0x0000fffff74c588c in std::function<void ()>::operator()() const (this=0xfffff3d1bc78)
at /usr/include/c++/8/bits/std_function.h:687
#6 0x0000fffff645e4b8 in dpdk::eal::<lambda()>::operator()(void) const (__closure=0xaaaaab3eab28)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/dpdk_rte.cc:165
#7 0x0000fffff645ed54 in std::__invoke_impl<int, dpdk::eal::init()::<lambda()> >(std::__invoke_other, dpdk::eal::<lambda()> &&) (__f=...) at /usr/include/c++/8/bits/invoke.h:60
#8 0x0000fffff645eb7c in std::__invoke<dpdk::eal::init()::<lambda()> >(dpdk::eal::<lambda()> &&) (__fn=...)
at /usr/include/c++/8/bits/invoke.h:95
#9 0x0000fffff645f484 in std::thread::_Invoker<std::tuple<dpdk::eal::init()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xaaaaab3eab28) at /usr/include/c++/8/thread:244
#10 0x0000fffff645f45c in std::thread::_Invoker<std::tuple<dpdk::eal::init()::<lambda()> > >::operator()(void) (
this=0xaaaaab3eab28) at /usr/include/c++/8/thread:253
#11 0x0000fffff645f43c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dpdk::eal::init()::<lambda()> > > >::_M_run(void) (this=0xaaaaab3eab20) at /usr/include/c++/8/thread:196
#12 0x0000fffff61bca3c in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x0000fffff7f47800 in start_thread () from /lib64/libpthread.so.0
#14 0x0000fffff5f417dc in thread_start () from /lib64/libc.so.6
(gdb) c
Continuing.
2021-10-12T15:12:53.389+0800 fffff452c880 1 heartbeat_map reset_timeout 'ServerDispatcher::op_tp thread 0xfffff452c880' had timed out after 60.000003815s
2021-10-12T15:12:53.389+0800 fffff1f7c880 2 Event(0xaaaaab520088 nevent=5000 time_id=1).set_owner center_id=0 owner=281474741291136
2021-10-12T15:12:53.389+0800 fffff1f7c880 10 stack operator() starting
2021-10-12T15:12:53.393+0800 fffff1f7c880 1 dpdk init_port_start LRO is off
2021-10-12T15:12:53.393+0800 fffff1f7c880 1 dpdk init_port_start RX checksum offload supported
2021-10-12T15:12:53.393+0800 fffff1f7c880 1 dpdk init_port_start TX ip checksum offload supported
2021-10-12T15:12:53.393+0800 fffff1f7c880 1 dpdk init_port_start TSO is supported
2021-10-12T15:12:53.393+0800 fffff1f7c880 1 dpdk init_port_start TX TCP checksum offload supported
2021-10-12T15:12:53.393+0800 fffff1f7c880 1 dpdk init_port_start Port 0 init ...
[Switching to Thread 0xfffff58173c0 (LWP 1211354)]

Thread 1 "ceph_perf_msgr_" hit Breakpoint 1, NetworkStack::start (this=0xaaaaab4c1880)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/Stack.cc:125
125 spawn_worker(std::move(thread));
(gdb) p &thread
$29 = (std::function<void()> *) 0xffffffffe0b8
$21 = (std::function<void()> *) 0xffffffffe0b8

(gdb) c
Continuing.
2021-10-12T15:13:05.472+0800 fffff1f7c880 1 dpdk init_port_start done.
2021-10-12T15:13:05.472+0800 fffff1f7c880 1 dpdkstack initialize using 2 cores
2021-10-12T15:13:05.472+0800 fffff1f7c880 0 dpdk tx_buf_factory Creating Tx mbuf pool 'dpdk_net_pktmbuf_pool0_tx' [1024 mbufs] ...

Thread 1 "ceph_perf_msgr_" hit Breakpoint 2, DPDKStack::spawn_worker(std::function<void ()>&&) (this=0xaaaaab4c1880, func=...)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:273
273 _eal.execute_on_master([adapted_func, core_id, this]() {
(gdb) p funcs
$30 = std::vector of length 2, capacity 2 = {
{<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16,
static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997720064}, _M_pod_data = "\200\030L\253\252\252\000\000\000\000R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}, {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {
static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880,
_M_const_object = 0xaaaaab4c1880, _M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997722656}, _M_pod_data = "\200\030L\253\252\252\000\000@\024R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}}
(gdb) p &funcs
$31 = (std::vector<std::function<void()>, std::allocator<std::function<void()> > > *) 0xaaaaab4c18b0
(gdb) p funcs[1]
$32 = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16,
static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997722656}, _M_pod_data = "\200\030L\253\252\252\000\000@\024R\253\252\252\000"},
_M_manager = 0xfffff74c7cc4 <std::_Function_base::_Base_manager<NetworkStack::add_thread(Worker*)::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>},
_M_invoker = 0xfffff74c7ca0 <std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &)>}
(gdb) p &funcs[1]
$33 = (std::function<void()> *) 0xaaaaab807460
(gdb) p &funcs[0]
$34 = (std::function<void()> *) 0xaaaaab807440
(gdb) c
Continuing.
[Switching to Thread 0xfffff3d1c880 (LWP 1211359)]

Thread 5 "ceph_perf_msgr_" hit Breakpoint 2, DPDKStack::<lambda()>::operator()(void) const (__closure=0xaaaaab3e9d40)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:273
273 _eal.execute_on_master([adapted_func, core_id, this]() {
(gdb) bt
#0 DPDKStack::<lambda()>::operator()(void) const (__closure=0xaaaaab3e9d40)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:273
#1 0x0000fffff6468334 in std::_Function_handler<void(), DPDKStack::spawn_worker(std::function<void()>&&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/8/bits/std_function.h:297
#2 0x0000fffff74c588c in std::function<void ()>::operator()() const (this=0xffffffffe018)
at /usr/include/c++/8/bits/std_function.h:687
#3 0x0000fffff6469918 in dpdk::eal::execute_on_master(std::function<void ()>&&)::{lambda()#1}::operator()() const (
__closure=0xfffff3d1bc78) at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/dpdk_rte.h:56
#4 0x0000fffff6475e30 in std::_Function_handler<void (), dpdk::eal::execute_on_master(std::function<void ()>&&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/8/bits/std_function.h:297
#5 0x0000fffff74c588c in std::function<void ()>::operator()() const (this=0xfffff3d1bc78)
at /usr/include/c++/8/bits/std_function.h:687
#6 0x0000fffff645e4b8 in dpdk::eal::<lambda()>::operator()(void) const (__closure=0xaaaaab3eab28)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/dpdk_rte.cc:165
#7 0x0000fffff645ed54 in std::__invoke_impl<int, dpdk::eal::init()::<lambda()> >(std::__invoke_other, dpdk::eal::<lambda()> &&) (__f=...) at /usr/include/c++/8/bits/invoke.h:60
#8 0x0000fffff645eb7c in std::__invoke<dpdk::eal::init()::<lambda()> >(dpdk::eal::<lambda()> &&) (__fn=...)
at /usr/include/c++/8/bits/invoke.h:95
#9 0x0000fffff645f484 in std::thread::_Invoker<std::tuple<dpdk::eal::init()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xaaaaab3eab28) at /usr/include/c++/8/thread:244
#10 0x0000fffff645f45c in std::thread::_Invoker<std::tuple<dpdk::eal::init()::<lambda()> > >::operator()(void) (
this=0xaaaaab3eab28) at /usr/include/c++/8/thread:253
#11 0x0000fffff645f43c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dpdk::eal::init()::<lambda()> > > >::_M_run(void) (this=0xaaaaab3eab20) at /usr/include/c++/8/thread:196
#12 0x0000fffff61bca3c in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x0000fffff7f47800 in start_thread () from /lib64/libpthread.so.0
#14 0x0000fffff5f417dc in thread_start () from /lib64/libc.so.6
(gdb) c
Continuing.
2021-10-12T15:14:07.901+0800 fffff1f7c880 1 dpdk init_rx_mbuf_pool Creating Rx mbuf pool 'dpdk_net_pktmbuf_pool0_rx' [1024 mbufs] ...
2021-10-12T15:14:07.901+0800 fffff176c880 2 Event(0xaaaaab5214c8 nevent=5000 time_id=1).set_owner center_id=1 owner=281474732836992
2021-10-12T15:14:07.901+0800 fffff176c880 10 stack operator() starting
2021-10-12T15:14:07.901+0800 fffff176c880 0 dpdk tx_buf_factory Creating Tx mbuf pool 'dpdk_net_pktmbuf_pool1_tx' [1024 mbufs] ...
2021-10-12T15:14:07.901+0800 fffff176c880 1 dpdk init_rx_mbuf_pool Creating Rx mbuf pool 'dpdk_net_pktmbuf_pool1_rx' [1024 mbufs] ...
2021-10-12T15:14:07.905+0800 fffff1f7c880 1 dpdk set_hw_flow_control port 0: not support to get hardware flow control settings: -95
2021-10-12T15:14:07.905+0800 fffff1f7c880 1 dpdk set_hw_flow_control port 0: changing HW FC settings is not supported
0000:7d:01.0 hns3_parse_rss_key(): Default RSS hash key to be set

Thread 8 "msgr-worker-0" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xfffff1f7c880 (LWP 1211362)]
0x0000fffff7f49da0 in pthread_mutex_lock () from /lib64/libpthread.so.0
(gdb) bt
#0 0x0000fffff7f49da0 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1 0x0000fffff727ba1c in __gthread_mutex_lock (__mutex=0xaaaa0000000a)
at /usr/include/c++/8/aarch64-redhat-linux/bits/gthr-default.h:748
#2 0x0000fffff727be14 in std::mutex::lock (this=0xaaaa0000000a) at /usr/include/c++/8/bits/std_mutex.h:103
#3 0x0000fffff74c8504 in Worker::init_done (this=0xaaaa00000002)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/Stack.h:272
#4 0x0000fffff74c69c4 in NetworkStack::<lambda()>::operator()(void) const (__closure=0xaaaaab3e9d40)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/Stack.cc:47
#5 0x0000fffff74c7cb8 in std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/8/bits/std_function.h:297
#6 0x0000fffff74c588c in std::function<void ()>::operator()() const (this=0xaaaaab3e9d40)
at /usr/include/c++/8/bits/std_function.h:687
#7 0x0000fffff64660ac in dpdk_thread_adaptor (f=0xaaaaab3e9d40)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:60
#8 0x0000fffff5ae2544 in eal_thread_loop () from /lib64/librte_eal.so.21
#9 0x0000fffff7f47800 in start_thread () from /lib64/libpthread.so.0
#10 0x0000fffff5f417dc in thread_start () from /lib64/libc.so.6
(gdb) f 7
#7 0x0000fffff64660ac in dpdk_thread_adaptor (f=0xaaaaab3e9d40)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:60
60 (*static_cast<std::function<void ()>*>(f))();
(gdb) p f
$35 = (void *) 0xaaaaab3e9d40
(gdb) p /x *(std::function<void()> *)f
$36 = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 0x10,
static _M_max_align = 0x8, _M_functor = {_M_unused = {_M_object = 0xaaaaab3e9be0, _M_const_object = 0xaaaaab3e9be0,
_M_function_pointer = 0xaaaaab3e9be0,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab3e9be0, this adjustment 93823560581121}, _M_pod_data = {0xe0, 0x9b, 0x3e, 0xab, 0xaa, 0xaa, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0xaa, 0xaa, 0x0, 0x0}},
_M_manager = 0xaaaaab4c1880}, _M_invoker = 0x61685f7267736d2e}
(gdb) t 9
[Switching to thread 9 (Thread 0xfffff176c880 (LWP 1211363))]
#0 0x0000fffff6487610 in std::_Function_base::_Base_manager<ipv4_l4<(ip_protocol_num)1>::register_packet_provider(std::function<std::optional<ipv4_traits::l4packet> ()>)::{lambda()#1}>::_M_get_pointer(std::_Any_data const&) (__source=...)
at /usr/include/c++/8/bits/std_function.h:153
153 const _Functor* __ptr =
(gdb) p /x *(std::function<void()> *)f
No symbol "f" in current context.
(gdb) bt
#0 0x0000fffff6487610 in std::_Function_base::_Base_manager<ipv4_l4<(ip_protocol_num)1>::register_packet_provider(std::function<std::optional<ipv4_traits::l4packet> ()>)::{lambda()#1}>::_M_get_pointer(std::_Any_data const&) (__source=...)
at /usr/include/c++/8/bits/std_function.h:153
#1 0x0000fffff6485a10 in std::_Function_handler<std::optional<ipv4_traits::l4packet> (), ipv4_l4<(ip_protocol_num)1>::register_packet_provider(std::function<std::optional<ipv4_traits::l4packet> ()>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (
__functor=...) at /usr/include/c++/8/bits/std_function.h:283
#2 0x0000fffff648387c in std::function<std::optional<ipv4_traits::l4packet> ()>::operator()() const (this=0xaaaaab8084a0)
at /usr/include/c++/8/bits/std_function.h:687
#3 0x0000fffff647d748 in ipv4::get_packet (this=0xaaaaac3d00b8)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/IP.cc:341
#4 0x0000fffff647bdf4 in ipv4::<lambda()>::operator()(void) const (__closure=0xaaaaab807d60)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/IP.cc:91
#5 0x0000fffff647ed24 in std::_Function_handler<std::optional<l3_protocol::l3packet>(), ipv4::ipv4(ceph::common::CephContext*, EventCenter*, interface*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/8/bits/std_function.h:283
#6 0x0000fffff648fc28 in std::function<std::optional<l3_protocol::l3packet> ()>::operator()() const (this=0xaaaaab807d60)
at /usr/include/c++/8/bits/std_function.h:687
#7 0x0000fffff648c5fc in interface::<lambda()>::operator()(void) (__closure=0xaaaaab3e86e0)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/net.cc:57
#8 0x0000fffff648e278 in std::_Function_handler<std::optional<Packet>(), interface::interface(ceph::common::CephContext*, std::shared_ptr<DPDKDevice>, EventCenter*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/8/bits/std_function.h:283
#9 0x0000fffff644c388 in std::function<std::optional<Packet> ()>::operator()() const (this=0xaaaaab3e86e0)
at /usr/include/c++/8/bits/std_function.h:687
#10 0x0000fffff6442eb8 in DPDKQueuePair::poll_tx (this=0xaaaaab511200)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDK.cc:680
#11 0x0000fffff6448120 in DPDKQueuePair::DPDKTXPoller::poll (this=0xaaaaab5113b0)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDK.h:700
#12 0x0000fffff74b6d5c in EventCenter::process_events (this=0xaaaaab5214c8, timeout_microseconds=0,
working_dur=0xfffff176bdf0) at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/Event.cc:456
#13 0x0000fffff74c6abc in NetworkStack::<lambda()>::operator()(void) const (__closure=0xaaaaab807460)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/Stack.cc:52
#14 0x0000fffff74c7cb8 in std::_Function_handler<void(), NetworkStack::add_thread(Worker*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/8/bits/std_function.h:297
#15 0x0000fffff74c588c in std::function<void ()>::operator()() const (this=0xaaaaab807460)
at /usr/include/c++/8/bits/std_function.h:687
#16 0x0000fffff64660ac in dpdk_thread_adaptor (f=0xaaaaab807460)
--Type <RET> for more, q to quit, c to continue without paging--
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:60
#17 0x0000fffff5ae2544 in eal_thread_loop () from /lib64/librte_eal.so.21
#18 0x0000fffff7f47800 in start_thread () from /lib64/libpthread.so.0
#19 0x0000fffff5f417dc in thread_start () from /lib64/libc.so.6
(gdb) f 16
#16 0x0000fffff64660ac in dpdk_thread_adaptor (f=0xaaaaab807460)
at /home/rpmbuild/BUILD/ceph-17.0.0-8081-gce076c6e759/src/msg/async/dpdk/DPDKStack.cc:60
60 (*static_cast<std::function<void ()>*>(f))();
(gdb) p f
$37 = (void *) 0xaaaaab807460
(gdb) p /x *(std::function<void()> *)f
$38 = {<std::_Maybe_unary_or_binary_function<void>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 0x10,
static _M_max_align = 0x8, _M_functor = {_M_unused = {_M_object = 0xaaaaab4c1880, _M_const_object = 0xaaaaab4c1880,
_M_function_pointer = 0xaaaaab4c1880,
_M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xaaaaab4c1880, this adjustment 93824997722656}, _M_pod_data = {0x80, 0x18, 0x4c, 0xab, 0xaa, 0xaa, 0x0, 0x0, 0x40, 0x14, 0x52, 0xab, 0xaa, 0xaa, 0x0, 0x0}},
_M_manager = 0xfffff74c7cc4}, _M_invoker = 0xfffff74c7ca0}
(gdb)
    (1-1/1)