Project

General

Profile

Actions

Bug #42861

open

Libceph-common.so needs to use private link attribute when including dpdk static library

Added by chunsong feng over 4 years ago. Updated over 2 years ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Libceph-common.so does not specify a link attribute containing the dpdk library,
dpdk global variables and functions will have a copy in libceph-common.so and the application.
It will cause the dpdk initialization to be abnormal:

EAL: No available hugepages reported in hugepages-32768kB
EAL: No available hugepages reported in hugepages-64kB
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
[New Thread 0xffffb339dad0 (LWP 653944)]
[New Thread 0xffffb2b9cad0 (LWP 653945)]
EAL: Error - exiting with code: 1
Cause: No Ethernet ports - bye

$16 = (struct vfio_config (*)[64]) 0xffffbf589700 <vfio_cfgs>
(gdb) p *vfio_cfgs
$17 = {vfio_enabled = 1, vfio_container_fd = 9, vfio_active_groups = 0, vfio_iommu_type = 0x0, vfio_groups = {{group_num = -1,
fd = -1, devices = 0} <repeats 64 times>}, mem_maps = {lock = {sl = {locked = 0}, user = -1, count = 0}, n_maps = 0,
maps = {{addr = 0, iova = 0, len = 0} <repeats 256 times>}}}
(gdb) c
Continuing.
[New Thread 0xffffb339dad0 (LWP 653241)]
[New Thread 0xffffb2b9cad0 (LWP 653242)]
[Switching to Thread 0xffffb339dad0 (LWP 653241)]

Thread 6 "msgr-worker-0" hit Breakpoint 7, rte_exit (exit_code=1, format=0xffffb71afb38 "No Ethernet ports - bye\n")
at /home/chunsong/ceph/src/spdk/dpdk/lib/librte_eal/linux/eal/eal_debug.c:71
71 {
(gdb) p vfio_cfgs
$18 = {vfio_enabled = 0, vfio_container_fd = 0, vfio_active_groups = 0, vfio_iommu_type = 0x0, vfio_groups = {{group_num = 0,
fd = 0, devices = 0} <repeats 64 times>}, mem_maps = {lock = {sl = {locked = 0}, user = 0, count = 0}, n_maps = 0,
maps = {{addr = 0, iova = 0, len = 0} <repeats 256 times>}}}
(gdb) p &vfio_cfgs
$19 = (struct vfio_config (
)[64]) 0xaaaaaad22220 <vfio_cfgs>

(gdb) info breakpoints
Num Type Disp Enb Address What
1 hw watchpoint keep y vfio_cfgs0.vfio_enabled
2 breakpoint keep y <MULTIPLE>
breakpoint already hit 1 time
2.1 y 0x0000aaaaaab98398 in rte_vfio_enable
at /home/chunsong/ceph/src/spdk/dpdk/lib/librte_eal/linux/eal/eal_vfio.c:961
2.2 y 0x0000ffffb7050680 in rte_vfio_enable
at /home/chunsong/ceph/src/spdk/dpdk/lib/librte_eal/linux/eal/eal_vfio.c:961
3 breakpoint keep y <MULTIPLE>
3.1 y 0x0000aaaaaab98550 in rte_vfio_enable
at /home/chunsong/ceph/src/spdk/dpdk/lib/librte_eal/linux/eal/eal_vfio.c:1008
3.2 y 0x0000ffffb7050838 in rte_vfio_enable
at /home/chunsong/ceph/src/spdk/dpdk/lib/librte_eal/linux/eal/eal_vfio.c:1008


Files

eal_repeat_error.rar (127 KB) eal_repeat_error.rar chunsong feng, 11/18/2019 07:14 AM
Actions

Also available in: Atom PDF