* [dpdk-dev] Debug crash in bucket_enqueue ()
@ 2019-10-24 16:42 Ravi Kerur
2019-10-24 16:58 ` Andrew Rybchenko
0 siblings, 1 reply; 3+ messages in thread
From: Ravi Kerur @ 2019-10-24 16:42 UTC (permalink / raw)
To: dev
DPDK team,
I have a simple multi process setup with OVS/DPDK as primary and another
process as secondary. OVS/DPDK sets up mempool and rings with MP/MC flags
and secondary process attaches to it. I have used
example/multi-process/simple_mp as an example. I have disabled 'ASLR' and
made sure primary and secondary use distinct EAL lcores.
test case is that for every 10/12 packets OVS/DPDK does
rte_mempool_get() and rte_ring_enqueue()
with information about the packets
secondary process does
rte_ring_dequeue() and rte_mempool_put()
Couple of minutes into the test secondary process crashes with following
baktrace.
Any other system level settings need to be set or inputs on debugging
bucket_enqueue?
#0 0x0000555555734160 in bucket_enqueue ()
#1 0x00005555555edf06 in rte_mempool_ops_enqueue_bulk (mp=0x17fa9ac80,
obj_table=0x17fac8210, n=16) at
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:704
#2 0x00005555555f072a in __mempool_generic_put (cache=0x17fac8100, n=1,
obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1249
#3 rte_mempool_generic_put (cache=0x17fac8100, n=1,
obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1285
#4 rte_mempool_put_bulk (n=1, obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1308
#5 rte_mempool_put (obj=0x17f994300, mp=0x17fa9ac80) at
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1326
#6 lcore_recv (arg=0x7fffffffd5b3) at /home/rkerur/simple_mp_ovs/main.c:369
#7 0x00005555556df8f1 in eal_thread_loop ()
#8 0x00007ffff72086db in start_thread (arg=0x7ffff4e0b700) at
pthread_create.c:463
#9 0x00007ffff6f3188f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thanks,
Ravi
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] Debug crash in bucket_enqueue ()
2019-10-24 16:42 [dpdk-dev] Debug crash in bucket_enqueue () Ravi Kerur
@ 2019-10-24 16:58 ` Andrew Rybchenko
2019-10-24 18:56 ` Ravi Kerur
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Rybchenko @ 2019-10-24 16:58 UTC (permalink / raw)
To: Ravi Kerur, dev
Hello,
please, see note on the following page:
https://doc.dpdk.org/guides/prog_guide/mempool_lib.html#mempool-handlers
Andrew.
On 10/24/19 7:42 PM, Ravi Kerur wrote:
> DPDK team,
>
> I have a simple multi process setup with OVS/DPDK as primary and another
> process as secondary. OVS/DPDK sets up mempool and rings with MP/MC flags
> and secondary process attaches to it. I have used
> example/multi-process/simple_mp as an example. I have disabled 'ASLR' and
> made sure primary and secondary use distinct EAL lcores.
>
> test case is that for every 10/12 packets OVS/DPDK does
> rte_mempool_get() and rte_ring_enqueue()
> with information about the packets
>
> secondary process does
> rte_ring_dequeue() and rte_mempool_put()
>
> Couple of minutes into the test secondary process crashes with following
> baktrace.
>
> Any other system level settings need to be set or inputs on debugging
> bucket_enqueue?
>
> #0 0x0000555555734160 in bucket_enqueue ()
> #1 0x00005555555edf06 in rte_mempool_ops_enqueue_bulk (mp=0x17fa9ac80,
> obj_table=0x17fac8210, n=16) at
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:704
> #2 0x00005555555f072a in __mempool_generic_put (cache=0x17fac8100, n=1,
> obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1249
> #3 rte_mempool_generic_put (cache=0x17fac8100, n=1,
> obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1285
> #4 rte_mempool_put_bulk (n=1, obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1308
> #5 rte_mempool_put (obj=0x17f994300, mp=0x17fa9ac80) at
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1326
> #6 lcore_recv (arg=0x7fffffffd5b3) at /home/rkerur/simple_mp_ovs/main.c:369
> #7 0x00005555556df8f1 in eal_thread_loop ()
> #8 0x00007ffff72086db in start_thread (arg=0x7ffff4e0b700) at
> pthread_create.c:463
> #9 0x00007ffff6f3188f in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
>
> Thanks,
> Ravi
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] Debug crash in bucket_enqueue ()
2019-10-24 16:58 ` Andrew Rybchenko
@ 2019-10-24 18:56 ` Ravi Kerur
0 siblings, 0 replies; 3+ messages in thread
From: Ravi Kerur @ 2019-10-24 18:56 UTC (permalink / raw)
To: Andrew Rybchenko; +Cc: dev
On Thu, Oct 24, 2019 at 9:58 AM Andrew Rybchenko <arybchenko@solarflare.com>
wrote:
> Hello,
>
> please, see note on the following page:
> https://doc.dpdk.org/guides/prog_guide/mempool_lib.html#mempool-handlers
Thanks for your inputs. Note refers to '-d' for shared objects. In my case
both OVS/DPDK and multi_process/simple_mp use static linked libraries. I am
pretty use OVS/DPDK uses libdpdk.a which is a group of all archives. I see
following from sample_mp_ovs.map file
Archive member included to satisfy reference by file (symbol)
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/lib/librte_pipeline.a(rte_pipeline.o)
(--whole-archive)
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/lib/librte_pipeline.a(rte_port_in_action.o)
(--whole-archive)
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/lib/librte_pipeline.a(rte_table_action.o)
(--whole-archive)
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/lib/librte_table.a(rte_table_lpm.o)
(--whole-archive)
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/lib/librte_table.a(rte_table_lpm_ipv6.o)
(--whole-archive)
/home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/lib/librte_table.a(rte_table_acl.o)
(--whole-archive)
...
Thanks.
>
>
> Andrew.
>
> On 10/24/19 7:42 PM, Ravi Kerur wrote:
> > DPDK team,
> >
> > I have a simple multi process setup with OVS/DPDK as primary and another
> > process as secondary. OVS/DPDK sets up mempool and rings with MP/MC flags
> > and secondary process attaches to it. I have used
> > example/multi-process/simple_mp as an example. I have disabled 'ASLR' and
> > made sure primary and secondary use distinct EAL lcores.
> >
> > test case is that for every 10/12 packets OVS/DPDK does
> > rte_mempool_get() and rte_ring_enqueue()
> > with information about the packets
> >
> > secondary process does
> > rte_ring_dequeue() and rte_mempool_put()
> >
> > Couple of minutes into the test secondary process crashes with following
> > baktrace.
> >
> > Any other system level settings need to be set or inputs on debugging
> > bucket_enqueue?
> >
> > #0 0x0000555555734160 in bucket_enqueue ()
> > #1 0x00005555555edf06 in rte_mempool_ops_enqueue_bulk (mp=0x17fa9ac80,
> > obj_table=0x17fac8210, n=16) at
> >
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:704
> > #2 0x00005555555f072a in __mempool_generic_put (cache=0x17fac8100, n=1,
> > obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
> >
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1249
> > #3 rte_mempool_generic_put (cache=0x17fac8100, n=1,
> > obj_table=0x7ffff4e09050, mp=0x17fa9ac80) at
> >
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1285
> > #4 rte_mempool_put_bulk (n=1, obj_table=0x7ffff4e09050, mp=0x17fa9ac80)
> at
> >
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1308
> > #5 rte_mempool_put (obj=0x17f994300, mp=0x17fa9ac80) at
> >
> /home/rkerur/dpdk-stable-18.11.2//x86_64-native-linuxapp-gcc/include/rte_mempool.h:1326
> > #6 lcore_recv (arg=0x7fffffffd5b3) at
> /home/rkerur/simple_mp_ovs/main.c:369
> > #7 0x00005555556df8f1 in eal_thread_loop ()
> > #8 0x00007ffff72086db in start_thread (arg=0x7ffff4e0b700) at
> > pthread_create.c:463
> > #9 0x00007ffff6f3188f in clone () at
> > ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> >
> > Thanks,
> > Ravi
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-10-24 18:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-24 16:42 [dpdk-dev] Debug crash in bucket_enqueue () Ravi Kerur
2019-10-24 16:58 ` Andrew Rybchenko
2019-10-24 18:56 ` Ravi Kerur
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).