Actions
Bug #43044
closedparse dpdk coremask occur out of range while using stoull
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Description
when we want to use cpu lcores more than 64 to run DPDK, we set the DPDK coremask such as "oXf0000000000000000" in the ceph.conf.
The "stoll" function used by "dpdk::eal:init" in src/msg/async/dpdk/dpdk_rte.cc will occur out of range error, because the "stoll" is designed for 64 bits.
This error maybe also occur in spdk, where the "stoll" be used by "NVMEManager::try_get" in src/os/bluestore/NVMEDevice.cc.
Here is the log printed by ceph_perf_msgr_server:
[root@ceph2 ~]# CEPH_CONF=/root/ceph.conf /usr/bin/ceph_perf_msgr_server 172.19.20.180:7000 1 10
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.20.180:7000
worker threads 1
thinktime(us) 10
terminate called after throwing an instance of 'std::out_of_range'
what(): stoull
*** Caught signal (Aborted) **
in thread 7fc105d24d40 thread_name:ceph_perf_msgr_
ceph version 15.0.0-4716-gae4d6f4901 (ae4d6f49016ec331c88734f7210c0eec36e6168e) octopus (dev)
1: (()+0xf5d0) [0x7fc1059215d0]
2: (gsignal()+0x37) [0x7fc0f9403207]
3: (abort()+0x148) [0x7fc0f94048f8]
4: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7fc0f9d127d5]
5: (()+0x5e746) [0x7fc0f9d10746]
6: (()+0x5e773) [0x7fc0f9d10773]
7: (()+0x5e993) [0x7fc0f9d10993]
8: (std::__throw_out_of_range(char const*)+0x77) [0x7fc0f9d65857]
9: (dpdk::eal::init(CephContext*)+0x289) [0x7fc0fb961869]
10: (DPDKStack::spawn_worker(unsigned int, std::function<void ()>&&)+0xa1) [0x7fc0fb931521]
11: (NetworkStack::start()+0xb5) [0x7fc0fb696d25]
12: (AsyncMessenger::AsyncMessenger(CephContext*, entity_name_t, std::string const&, std::string, unsigned long)+0x904) [0x7fc0fb64c104]
13: (Messenger::create(CephContext*, std::string const&, entity_name_t, std::string, unsigned long, unsigned long)+0xd1) [0x7fc0fb6353b1]
14: (MessengerServer::MessengerServer(std::string const&, std::string const&, int, int)+0x298) [0x559a804b6b38]
15: (main()+0x2eb) [0x559a804ae06b]
16: (__libc_start_main()+0xf5) [0x7fc0f93ef3d5]
17: (()+0x11350) [0x559a804ae350]
2019-11-27T15:35:25.454+0800 7fc105d24d40 -1 *** Caught signal (Aborted) **
Updated by Kefu Chai over 4 years ago
- Status changed from New to Fix Under Review
- Pull request ID set to 32173
Updated by Kefu Chai over 4 years ago
- Status changed from Fix Under Review to Resolved
Actions