From: Olivier Matz <olivier.matz@6wind.com>
To: "Ding, HengX" <hengx.ding@intel.com>
Cc: "Xu, Qian Q" <qian.q.xu@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: run ip_fragmentation with cores in different socket will cause core dump
Date: Mon, 13 Jun 2016 10:46:12 +0200 [thread overview]
Message-ID: <575E72D4.7010104@6wind.com> (raw)
In-Reply-To: <6EBE0505FB6FBE47AB60080228528452519690E7@CDSMSX101.ccr.corp.intel.com>
Hi,
On 06/13/2016 09:41 AM, Ding, HengX wrote:
> 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@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@6wind.com>
> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
>From what I see, the ip_fragmentation example does not check if
a lpm table already exists before creating it. I'll send a patch
to fix this, and also check if other applications examples are
impacted.
Thanks for reporting.
Regards,
Olivier
next prev parent reply other threads:[~2016-06-13 8:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 7:41 run ip_fragmentation with cores in different socket will cause core dump Ding, HengX
2016-06-13 8:46 ` Olivier Matz [this message]
2016-06-13 9:43 ` [PATCH] examples: fix duplicated lpm6 name Olivier Matz
2016-06-15 14:30 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=575E72D4.7010104@6wind.com \
--to=olivier.matz@6wind.com \
--cc=dev@dpdk.org \
--cc=hengx.ding@intel.com \
--cc=qian.q.xu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.