DPDK patches and discussions
 help / color / mirror / Atom feed
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: [dpdk-dev] 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

  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 Ding, HengX
2016-06-13  8:46 ` Olivier Matz [this message]
2016-06-13  9:43   ` [dpdk-dev] [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).