[dpdk-dev] run ip_fragmentation with cores in different socket will cause core dump

Ding, HengX hengx.ding at intel.com
Mon Jun 13 09:41:50 CEST 2016


The following command will cause ip_fragmentation app fail:
examples/ip_fragmentation/build/ip_fragmentation -c 0x40002 -n 4 -- -p 0x3 -q 2
while setting core mask to 0x2 or 0x40000 will not cause this issue.

error message is shown below:

EAL:   Not managed by a supported kernel driver, skipped
IP_FRAG: Creating direct mempool on socket 0
IP_FRAG: Creating indirect mempool on socket 0
IP_FRAG: Creating LPM table on socket 0
IP_FRAG: Creating LPM6 table on socket 0
IP_FRAG: Creating direct mempool on socket 1
IP_FRAG: Creating indirect mempool on socket 1
IP_FRAG: Creating LPM table on socket 1
IP_FRAG: Creating LPM6 table on socket 1
IP_FRAG: Cannot create LPM table
PANIC in main():
Cannot initialize memory structures!
5: [examples/ip_fragmentation/build/ip_fragmentation() [0x42df85]]
4: [/lib64/libc.so.6(__libc_start_main+0xf5) [0x3a8a421d65]]
3: [examples/ip_fragmentation/build/ip_fragmentation() [0x42d163]]
2: [examples/ip_fragmentation/build/ip_fragmentation(__rte_panic+0xc9) [0x426c0c]]
1: [examples/ip_fragmentation/build/ip_fragmentation(rte_dump_stack+0x1a) [0x4980aa]]
Aborted (core dumped)

And the bisect result:

f82f705b635d31a63446a16bc4526dbebf293c5a is the first bad commit
commit f82f705b635d31a63446a16bc4526dbebf293c5a
Author: Olivier Matz <olivier.matz at 6wind.com>
Date:   Wed Apr 6 15:27:58 2016 +0200

    lpm: fix allocation of an existing object

    Change rte_lpm*_create() functions to return NULL and set rte_errno to
   EEXIST when the object name already exists. This is the behavior
    described in the API documentation in the header file.

    These functions were returning a pointer to the existing object in that
    case, but it is a problem as the caller did not know if the object had
    to be freed or not.

    Doing this change also makes the lpm API more consistent with the other
    APIs (mempool, rings, ...).

    Fixes: 916e4f4f4e ("memory: fix for multi process support")

    Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
    Acked-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>

:040000 040000 a7450772f279b8d459c96dd7a7b193d01bb4ecf6 0a41cee86a23d7968218183c93a4b60a6bfff1c3 M      app
:040000 040000 88dd7b9fadc50cbf7824e28195d892635d45581d 72e3179c9835c6bea6909a29a56a1c7835540368 M      doc
:040000 040000 8478c771116ac841eeca65c6b08e263229a96d57 76e2294cca653e366456a73755efbbff687630d2 M      lib


Thanks
Ding Heng


More information about the dev mailing list