Spirent/openperf

[packet/generator] Could not create DPDK packet pool: File exists

Closed this issue · 0 comments

Error randomly received when creating/deleting generators

{"time": "2020-10-26T01:35:23Z", "level": "info", "thread": "op_pio", "tag": "openperf::packetio::dpdk::port::rx_callback<openperf::packetio::dpdk::port::callback_prbs_error_detector>::enable", "message": "Enabling software Spirent PRBS error detecting on port 1"}
{"time": "2020-10-26T01:35:24Z", "level": "debug", "thread": "op_pio", "tag": "openperf::packetio::dpdk::worker_controller::add_source", "message": "Adding source generator-01 to port port0 (idx = 0, queue = 0) on worker 25"}

terminate called after throwing an instance of 'std::runtime_error'
  what():  Could not create DPDK packet pool: File exists

Thread 55 "op_pio" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff5406700 (LWP 20398)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff6c4a8b1 in __GI_abort () at abort.c:79
#2  0x0000000000cbbf6a in __gnu_cxx::__verbose_terminate_handler() [clone .cold.1] ()
#3  0x0000000000cbbe86 in __cxxabiv1::__terminate(void (*)()) ()
#4  0x0000000000cbbec1 in std::terminate() ()
#5  0x0000000000cbbdf4 in __cxa_throw ()
#6  0x0000000000fd8506 in packet_pool ()
    at /root/project/src/modules/packetio/memory/dpdk/packet_pool.cpp:96
#7  0x0000000001007dd4 in make_packet_pool ()
    at /root/project/src/modules/packetio/workers/dpdk/tx_source.cpp:22
#8  tx_source () at /root/project/src/modules/packetio/workers/dpdk/tx_source.cpp:30
#9  0x000000000100ed52 in add_source ()
    at /root/project/src/modules/packetio/workers/dpdk/worker_controller.cpp:863
#10 0x00000000010194f8 in add_source () at /root/project/src/modules/packetio/generic_workers.hpp:257
#11 0x0000000000faeb2f in add_source () at /root/project/src/modules/packetio/generic_workers.hpp:110
#12 handle_request () at /root/project/src/modules/packetio/internal_server.cpp:33
#13 0x0000000000fb119a in operator()<openperf::packetio::internal::api::request_source_add> ()
    at /root/project/src/modules/packetio/internal_server.cpp:171
#14 __invoke_impl<std::variant<openperf::packetio::internal::api::reply_task_add, openperf::packetio::internal::api::reply_worker_ids, openperf::packetio::internal::api::reply_ok, openperf::packetio::internal::api::reply_error>, (lambda at /root/project/src/modules/packetio/internal_server.cpp:170:32) &, openperf::packetio::internal::api::request_source_add &> ()
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60
#15 __invoke<(lambda at /root/project/src/modules/packetio/internal_server.cpp:170:32) &, openperf::packetio::internal::api::request_source_add &> ()
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95
#16 __visit_invoke () at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/variant:830
#17 0x0000000000faf8f0 in visit<(lambda at /root/project/src/modules/packetio/internal_server.cpp:170:32) &, std::variant<openperf::packetio::internal::api::request_sink_add, openperf::packetio::internal::api::request_sink_del, openperf::packetio::internal::api::request_source_add, openperf::packetio::internal::api::request_source_del, openperf::packetio::internal::api::request_source_swap, openperf::packetio::internal::api::request_task_add, openperf::packetio::internal::api::request_task_del, openperf::packetio::internal::api::request_worker_ids> &> ()
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/variant:1386
#18 handle_rpc_request () at /root/project/src/modules/packetio/internal_server.cpp:173
#19 0x0000000000ea2ea1 in _do_event_handling ()
    at /root/project/src/framework/core/op_event_loop_epoll.c:519