* Re: [dpdk-users] [ovs-discuss] ovs-dpdk crash when use vhost-user in docker [not found] <CAFvVKm6V9sN8PVw9+WF4h63ctmVpXTh4EHCm6uy9doibkkyKuQ@mail.gmail.com> @ 2018-08-21 8:05 ` Loftus, Ciara 2018-08-21 8:17 ` O Mahony, Billy 0 siblings, 1 reply; 4+ messages in thread From: Loftus, Ciara @ 2018-08-21 8:05 UTC (permalink / raw) To: gmzhang76, ovs-discuss; +Cc: users Hi, I am cc-ing the DPDK users’ list as the SEGV originates in the DPDK vHost code and somebody there might be able to help too. Could you provide more information about your environment please? eg. OVS & DPDK versions, hugepage configuration, etc. Thanks, Ciara From: ovs-discuss-bounces@openvswitch.org [mailto:ovs-discuss-bounces@openvswitch.org] On Behalf Of ??? Sent: Monday, August 20, 2018 12:06 PM To: ovs-discuss@openvswitch.org Subject: [ovs-discuss] ovs-dpdk crash when use vhost-user in docker Hi, I used ovs-dpdk as bridge and l2fwd as container. When l2fwd was runned ,the ovs-dpdk was crashed. My command is : docker run -it --privileged --name=dpdk-docker -v /dev/hugepages:/mnt/huge -v /usr/local/var/run/openvswitch:/var/run/openvswitch dpdk-docker ./l2fwd -c 0x06 -n 4 --socket-mem=1024 --no-pci --vdev=net_virtio_user0,mac=00:00:00:00:00:05,path=/var/run/openvswitch/vhost-user0 --vdev=net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1 -- -p 0x3 The crash log Program terminated with signal 11, Segmentation fault. #0 0x0000000000445828 in malloc_elem_alloc () Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-8.el7.x86_64 libcap-ng-0.7.5-4.el7.x86_64 libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7_4.1.x86_64 libpcap-1.5.3-9.el7.x86_64 libselinux-2.5-12.el7.x86_64 numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 (gdb) bt #0 0x0000000000445828 in malloc_elem_alloc () #1 0x0000000000445e5d in malloc_heap_alloc () #2 0x0000000000444c74 in rte_zmalloc () #3 0x00000000006c16bf in vhost_new_device () #4 0x00000000006bfaf4 in vhost_user_add_connection () #5 0x00000000006beb88 in fdset_event_dispatch () #6 0x00007f613b288e25 in start_thread () from /usr/lib64/libpthread.so.0 #7 0x00007f613a86b34d in clone () from /usr/lib64/libc.so.6 My OVS version is 2.9.1 , DPDK version is 17.11.3 Thanks ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] [ovs-discuss] ovs-dpdk crash when use vhost-user in docker 2018-08-21 8:05 ` [dpdk-users] [ovs-discuss] ovs-dpdk crash when use vhost-user in docker Loftus, Ciara @ 2018-08-21 8:17 ` O Mahony, Billy 2018-08-21 8:59 ` 张广明 0 siblings, 1 reply; 4+ messages in thread From: O Mahony, Billy @ 2018-08-21 8:17 UTC (permalink / raw) To: Loftus, Ciara, gmzhang76, ovs-discuss; +Cc: users Hi, One thing to look out for with DPDK < 18.05 is that you need to used 1GB huge pages (and no more than eight of them) to use virtio. I’m not sure if that is the issue you have as I think it I don’t remember it causing a seg fault. But is certainly worth checking. If that does not work please send the info Ciara refers to as well as the ovs-vsctl interface config for the ovs vhost backend. Thanks, Billy From: ovs-discuss-bounces@openvswitch.org [mailto:ovs-discuss-bounces@openvswitch.org] On Behalf Of Loftus, Ciara Sent: Tuesday, August 21, 2018 9:06 AM To: gmzhang76@gmail.com; ovs-discuss@openvswitch.org Cc: users@dpdk.org Subject: Re: [ovs-discuss] ovs-dpdk crash when use vhost-user in docker Hi, I am cc-ing the DPDK users’ list as the SEGV originates in the DPDK vHost code and somebody there might be able to help too. Could you provide more information about your environment please? eg. OVS & DPDK versions, hugepage configuration, etc. Thanks, Ciara From: ovs-discuss-bounces@openvswitch.org<mailto:ovs-discuss-bounces@openvswitch.org> [mailto:ovs-discuss-bounces@openvswitch.org] On Behalf Of ??? Sent: Monday, August 20, 2018 12:06 PM To: ovs-discuss@openvswitch.org<mailto:ovs-discuss@openvswitch.org> Subject: [ovs-discuss] ovs-dpdk crash when use vhost-user in docker Hi, I used ovs-dpdk as bridge and l2fwd as container. When l2fwd was runned ,the ovs-dpdk was crashed. My command is : docker run -it --privileged --name=dpdk-docker -v /dev/hugepages:/mnt/huge -v /usr/local/var/run/openvswitch:/var/run/openvswitch dpdk-docker ./l2fwd -c 0x06 -n 4 --socket-mem=1024 --no-pci --vdev=net_virtio_user0,mac=00:00:00:00:00:05,path=/var/run/openvswitch/vhost-user0 --vdev=net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1 -- -p 0x3 The crash log Program terminated with signal 11, Segmentation fault. #0 0x0000000000445828 in malloc_elem_alloc () Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-8.el7.x86_64 libcap-ng-0.7.5-4.el7.x86_64 libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7_4.1.x86_64 libpcap-1.5.3-9.el7.x86_64 libselinux-2.5-12.el7.x86_64 numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 (gdb) bt #0 0x0000000000445828 in malloc_elem_alloc () #1 0x0000000000445e5d in malloc_heap_alloc () #2 0x0000000000444c74 in rte_zmalloc () #3 0x00000000006c16bf in vhost_new_device () #4 0x00000000006bfaf4 in vhost_user_add_connection () #5 0x00000000006beb88 in fdset_event_dispatch () #6 0x00007f613b288e25 in start_thread () from /usr/lib64/libpthread.so.0 #7 0x00007f613a86b34d in clone () from /usr/lib64/libc.so.6 My OVS version is 2.9.1 , DPDK version is 17.11.3 Thanks ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] [ovs-discuss] ovs-dpdk crash when use vhost-user in docker 2018-08-21 8:17 ` O Mahony, Billy @ 2018-08-21 8:59 ` 张广明 2018-08-22 4:16 ` 张广明 0 siblings, 1 reply; 4+ messages in thread From: 张广明 @ 2018-08-21 8:59 UTC (permalink / raw) To: billy.o.mahony; +Cc: ciara.loftus, ovs-discuss, users Hi, Ciara and Billy Thanks for your reply The default huge page size that i used is 1GB . root@localhost openvswitch]# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto iommu=pt intel_iommu=on default_hugepagesz=1G hugepagesz=1G hugepages=2 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rd.lvm.lv=centos/usr rhgb The huge page number is 4 [root@localhost openvswitch]# cat /proc/meminfo | grep Huge AnonHugePages: 14336 kB HugePages_Total: 4 HugePages_Free: 2 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 1048576 kB My ovs dpdk configure is [root@localhost openvswitch]# ovs-vsctl --no-wait get Open_vSwitch . other_config {dpdk-init="true", dpdk-socket-mem="2048,0", pmd-cpu-mask="0x01"} My ovs configure [root@localhost openvswitch]# ovs-vsctl show d2b6062a-4d6f-46f6-8fa4-66dca6b06c96 Manager "tcp:192.168.15.18:6640" is_connected: true Bridge br-router Port "p2p1" Interface "p2p1" type: dpdk options: {dpdk-devargs="0000:01:00.0"} Port patch-gtp Interface patch-gtp type: patch options: {peer=patch-router} Port br-router Interface br-router type: internal Bridge "br0" Controller "tcp:192.168.15.18:6633" is_connected: true fail_mode: secure Port "p1p1" Interface "p1p1" type: dpdk options: {dpdk-devargs="0000:03:00.0"} Port patch-router Interface patch-router type: patch options: {peer=patch-gtp} Port "br0" Interface "br0" type: internal Port "vhost-user1" Interface "vhost-user1" type: dpdkvhostuser Port "vhost-user0" Interface "vhost-user0" type: dpdkvhostuser Bridge br-vxlan Port br-vxlan Interface br-vxlan type: internal Docker running command is docker run -it --privileged --name=dpdk-docker -v /dev/hugepages:/mnt/huge -v /usr/local/var/run/openvswitch:/var/run/openvswitch dpdk-docker ./l2fwd -c 0x06 -n 4 --socket-mem=1024 --no-pci --vdev=net_virtio_user0,mac=00:00:00:00:00:05,path=/var/run/openvswitch/vhost-user0 --vdev=net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1 -- -p 0x3 more detail core dump message Program terminated with signal 11, Segmentation fault. #0 0x0000000000443c9c in find_suitable_element (bound=0, align=64, flags=0, size=6272, heap=0x7fbc461f2a1c) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:134 134 if (check_hugepage_sz(flags, elem->ms->hugepage_sz)) Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-8.el7.x86_64 libcap-ng-0.7.5-4.el7.x86_64 libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7_4.1.x86_64 libpcap-1.5.3-9.el7.x86_64 libselinux-2.5-12.el7.x86_64 numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 (gdb) bt #0 0x0000000000443c9c in find_suitable_element (bound=0, align=64, flags=0, size=6272, heap=0x7fbc461f2a1c) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:134 #1 malloc_heap_alloc (heap=heap@entry=0x7fbc461f2a1c, type=type@entry=0x0, size=size@entry=6272, flags=flags@entry=0, align=64, align@entry=1, bound=bound@entry=0) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:166 #2 0x000000000044312a in rte_malloc_socket (type=type@entry=0x0, size=size@entry=6272, align=align@entry=0, socket_arg=<optimized out>, socket_arg@entry=-1) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/rte_malloc.c:91 #3 0x00000000004431d1 in rte_zmalloc_socket (socket=-1, align=0, size=6272, type=0x0) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/rte_malloc.c:126 #4 rte_zmalloc (type=type@entry=0x0, size=size@entry=6272, align=align@entry=0) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/rte_malloc.c:135 #5 0x00000000006bec48 in vhost_new_device () at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/vhost.c:311 #6 0x00000000006bd685 in vhost_user_add_connection (fd=fd@entry=66, vsocket=vsocket@entry=0x1197560) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/socket.c:224 #7 0x00000000006bdbf6 in vhost_user_server_new_connection (fd=66, fd@entry=54, dat=dat@entry=0x1197560, remove=remove@entry=0x7fbbafffe9dc) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/socket.c:284 #8 0x00000000006bc48c in fdset_event_dispatch (arg=0xc1ace0 <vhost_user+8192>) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/fd_man.c:308 #9 0x00007fbc450fee25 in start_thread () from /usr/lib64/libpthread.so.0 #10 0x00007fbc446e134d in clone () from /usr/lib64/libc.so.6 (gdb) fr 0 #0 0x0000000000443c9c in find_suitable_element (bound=0, align=64, flags=0, size=6272, heap=0x7fbc461f2a1c) at /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:134 134 if (check_hugepage_sz(flags, elem->ms->hugepage_sz)) (gdb) p elem->ms $1 = (const struct rte_memseg *) 0x7fa4f3ebb01c (gdb) p *elem->ms Cannot access memory at address 0x7fa4f3ebb01c (gdb) p *elem $2 = {heap = 0x7fa4f3eeda1c, prev = 0x0, free_list = {le_next = 0x0, le_prev = 0x7fa4f3eeda7c}, ms = 0x7fa4f3ebb01c, state = ELEM_FREE, pad = 0, size = 1073439232} (gdb) disassemble 0x0000000000443c9c Dump of assembler code for function malloc_heap_alloc: => 0x0000000000443c9c <+156>: mov 0x18(%rax),%rax 0x0000000000443ca0 <+160>: test %r15d,%r15d 0x0000000000443ca3 <+163>: je 0x443d7c <malloc_heap_alloc+380> 0x0000000000443ca9 <+169>: cmp $0x10000000,%rax 0x0000000000443caf <+175>: je 0x443d25 <malloc_heap_alloc+293> ---Type <return> to continue, or q <return> to quit---q Quit (gdb) info reg rax rax 0x7fa4f3ebb01c 140346443673628 Is the dpdk-socket-mem too small ? Thanks O Mahony, Billy <billy.o.mahony@intel.com> 于2018年8月21日周二 下午4:17写道: > Hi, > > > > One thing to look out for with DPDK < 18.05 is that you need to used 1GB > huge pages (and no more than eight of them) to use virtio. I’m not sure if > that is the issue you have as I think it I don’t remember it causing a seg > fault. But is certainly worth checking. > > > > If that does not work please send the info Ciara refers to as well as the > ovs-vsctl interface config for the ovs vhost backend. > > > > Thanks, > > Billy > > > > *From:* ovs-discuss-bounces@openvswitch.org [mailto: > ovs-discuss-bounces@openvswitch.org] *On Behalf Of *Loftus, Ciara > *Sent:* Tuesday, August 21, 2018 9:06 AM > *To:* gmzhang76@gmail.com; ovs-discuss@openvswitch.org > *Cc:* users@dpdk.org > *Subject:* Re: [ovs-discuss] ovs-dpdk crash when use vhost-user in docker > > > > Hi, > > > > I am cc-ing the DPDK users’ list as the SEGV originates in the DPDK vHost > code and somebody there might be able to help too. > > Could you provide more information about your environment please? eg. OVS > & DPDK versions, hugepage configuration, etc. > > > > Thanks, > > Ciara > > > > *From:* ovs-discuss-bounces@openvswitch.org [ > mailto:ovs-discuss-bounces@openvswitch.org > <ovs-discuss-bounces@openvswitch.org>] *On Behalf Of *??? > *Sent:* Monday, August 20, 2018 12:06 PM > *To:* ovs-discuss@openvswitch.org > *Subject:* [ovs-discuss] ovs-dpdk crash when use vhost-user in docker > > > > Hi, > > > > I used ovs-dpdk as bridge and l2fwd as container. When l2fwd was > runned ,the ovs-dpdk was crashed. > > > > My command is : > > > > docker run -it --privileged --name=dpdk-docker -v > /dev/hugepages:/mnt/huge -v > /usr/local/var/run/openvswitch:/var/run/openvswitch dpdk-docker > > ./l2fwd -c 0x06 -n 4 --socket-mem=1024 --no-pci > --vdev=net_virtio_user0,mac=00:00:00:00:00:05,path=/var/run/openvswitch/vhost-user0 > --vdev=net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1 > -- -p 0x3 > > > > The crash log > > > > Program terminated with signal 11, Segmentation fault. > > #0 0x0000000000445828 in malloc_elem_alloc () > > Missing separate debuginfos, use: debuginfo-install > glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 > krb5-libs-1.15.1-8.el7.x86_64 libcap-ng-0.7.5-4.el7.x86_64 > libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7_4.1.x86_64 > libpcap-1.5.3-9.el7.x86_64 libselinux-2.5-12.el7.x86_64 > numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 > pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 > > (gdb) bt > > #0 0x0000000000445828 in malloc_elem_alloc () > > #1 0x0000000000445e5d in malloc_heap_alloc () > > #2 0x0000000000444c74 in rte_zmalloc () > > #3 0x00000000006c16bf in vhost_new_device () > > #4 0x00000000006bfaf4 in vhost_user_add_connection () > > #5 0x00000000006beb88 in fdset_event_dispatch () > > #6 0x00007f613b288e25 in start_thread () from /usr/lib64/libpthread.so.0 > > #7 0x00007f613a86b34d in clone () from /usr/lib64/libc.so.6 > > > > My OVS version is 2.9.1 , DPDK version is 17.11.3 > > > > > > Thanks > > > > > > > > > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] [ovs-discuss] ovs-dpdk crash when use vhost-user in docker 2018-08-21 8:59 ` 张广明 @ 2018-08-22 4:16 ` 张广明 0 siblings, 0 replies; 4+ messages in thread From: 张广明 @ 2018-08-22 4:16 UTC (permalink / raw) To: billy.o.mahony; +Cc: ciara.loftus, ovs-discuss, users Hi, This issue was resolved. The cause is i miss a parameter --file-prefix when run l2fwd Thanks Billy and Ciara 张广明 <gmzhang76@gmail.com> 于2018年8月21日周二 下午4:59写道: > Hi, Ciara and Billy > > Thanks for your reply > > The default huge page size that i used is 1GB . > root@localhost openvswitch]# cat /proc/cmdline > BOOT_IMAGE=/vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/centos-root ro > crashkernel=auto iommu=pt intel_iommu=on default_hugepagesz=1G > hugepagesz=1G hugepages=2 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap > rd.lvm.lv=centos/usr rhgb > > The huge page number is 4 > [root@localhost openvswitch]# cat /proc/meminfo | grep Huge > AnonHugePages: 14336 kB > HugePages_Total: 4 > HugePages_Free: 2 > HugePages_Rsvd: 0 > HugePages_Surp: 0 > Hugepagesize: 1048576 kB > > > My ovs dpdk configure is > [root@localhost openvswitch]# ovs-vsctl --no-wait get Open_vSwitch . > other_config > {dpdk-init="true", dpdk-socket-mem="2048,0", pmd-cpu-mask="0x01"} > > My ovs configure > [root@localhost openvswitch]# ovs-vsctl show > d2b6062a-4d6f-46f6-8fa4-66dca6b06c96 > Manager "tcp:192.168.15.18:6640" > is_connected: true > Bridge br-router > Port "p2p1" > Interface "p2p1" > type: dpdk > options: {dpdk-devargs="0000:01:00.0"} > Port patch-gtp > Interface patch-gtp > type: patch > options: {peer=patch-router} > Port br-router > Interface br-router > type: internal > Bridge "br0" > Controller "tcp:192.168.15.18:6633" > is_connected: true > fail_mode: secure > Port "p1p1" > Interface "p1p1" > type: dpdk > options: {dpdk-devargs="0000:03:00.0"} > Port patch-router > Interface patch-router > type: patch > options: {peer=patch-gtp} > Port "br0" > Interface "br0" > type: internal > Port "vhost-user1" > Interface "vhost-user1" > type: dpdkvhostuser > Port "vhost-user0" > Interface "vhost-user0" > type: dpdkvhostuser > Bridge br-vxlan > Port br-vxlan > Interface br-vxlan > type: internal > > > Docker running command is > > docker run -it --privileged --name=dpdk-docker -v > /dev/hugepages:/mnt/huge -v > /usr/local/var/run/openvswitch:/var/run/openvswitch dpdk-docker > > ./l2fwd -c 0x06 -n 4 --socket-mem=1024 --no-pci > --vdev=net_virtio_user0,mac=00:00:00:00:00:05,path=/var/run/openvswitch/vhost-user0 > --vdev=net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1 > -- -p 0x3 > more detail core dump message > > Program terminated with signal 11, Segmentation fault. > #0 0x0000000000443c9c in find_suitable_element (bound=0, align=64, > flags=0, size=6272, heap=0x7fbc461f2a1c) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:134 > 134 if (check_hugepage_sz(flags, elem->ms->hugepage_sz)) > Missing separate debuginfos, use: debuginfo-install > glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 > krb5-libs-1.15.1-8.el7.x86_64 libcap-ng-0.7.5-4.el7.x86_64 > libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7_4.1.x86_64 > libpcap-1.5.3-9.el7.x86_64 libselinux-2.5-12.el7.x86_64 > numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 > pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 > (gdb) bt > #0 0x0000000000443c9c in find_suitable_element (bound=0, align=64, > flags=0, size=6272, heap=0x7fbc461f2a1c) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:134 > #1 malloc_heap_alloc (heap=heap@entry=0x7fbc461f2a1c, type=type@entry=0x0, > size=size@entry=6272, flags=flags@entry=0, align=64, align@entry=1, > bound=bound@entry=0) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:166 > #2 0x000000000044312a in rte_malloc_socket (type=type@entry=0x0, > size=size@entry=6272, align=align@entry=0, socket_arg=<optimized out>, > socket_arg@entry=-1) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/rte_malloc.c:91 > #3 0x00000000004431d1 in rte_zmalloc_socket (socket=-1, align=0, > size=6272, type=0x0) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/rte_malloc.c:126 > #4 rte_zmalloc (type=type@entry=0x0, size=size@entry=6272, > align=align@entry=0) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/rte_malloc.c:135 > #5 0x00000000006bec48 in vhost_new_device () at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/vhost.c:311 > #6 0x00000000006bd685 in vhost_user_add_connection (fd=fd@entry=66, > vsocket=vsocket@entry=0x1197560) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/socket.c:224 > #7 0x00000000006bdbf6 in vhost_user_server_new_connection (fd=66, fd@entry=54, > dat=dat@entry=0x1197560, remove=remove@entry=0x7fbbafffe9dc) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/socket.c:284 > #8 0x00000000006bc48c in fdset_event_dispatch (arg=0xc1ace0 > <vhost_user+8192>) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_vhost/fd_man.c:308 > #9 0x00007fbc450fee25 in start_thread () from /usr/lib64/libpthread.so.0 > #10 0x00007fbc446e134d in clone () from /usr/lib64/libc.so.6 > (gdb) fr 0 > #0 0x0000000000443c9c in find_suitable_element (bound=0, align=64, > flags=0, size=6272, heap=0x7fbc461f2a1c) at > /home/gmzhang/work/dpdk-stable-17.11.3/lib/librte_eal/common/malloc_heap.c:134 > 134 if (check_hugepage_sz(flags, elem->ms->hugepage_sz)) > (gdb) p elem->ms > $1 = (const struct rte_memseg *) 0x7fa4f3ebb01c > (gdb) p *elem->ms > Cannot access memory at address 0x7fa4f3ebb01c > (gdb) p *elem > $2 = {heap = 0x7fa4f3eeda1c, prev = 0x0, free_list = {le_next = 0x0, > le_prev = 0x7fa4f3eeda7c}, ms = 0x7fa4f3ebb01c, state = ELEM_FREE, pad = 0, > size = 1073439232} > (gdb) disassemble 0x0000000000443c9c > Dump of assembler code for function malloc_heap_alloc: > => 0x0000000000443c9c <+156>: mov 0x18(%rax),%rax > 0x0000000000443ca0 <+160>: test %r15d,%r15d > 0x0000000000443ca3 <+163>: je 0x443d7c <malloc_heap_alloc+380> > 0x0000000000443ca9 <+169>: cmp $0x10000000,%rax > 0x0000000000443caf <+175>: je 0x443d25 <malloc_heap_alloc+293> > ---Type <return> to continue, or q <return> to quit---q > Quit > (gdb) info reg rax > rax 0x7fa4f3ebb01c 140346443673628 > > Is the dpdk-socket-mem too small ? > > Thanks > > > > O Mahony, Billy <billy.o.mahony@intel.com> 于2018年8月21日周二 下午4:17写道: > >> Hi, >> >> >> >> One thing to look out for with DPDK < 18.05 is that you need to used 1GB >> huge pages (and no more than eight of them) to use virtio. I’m not sure if >> that is the issue you have as I think it I don’t remember it causing a seg >> fault. But is certainly worth checking. >> >> >> >> If that does not work please send the info Ciara refers to as well as the >> ovs-vsctl interface config for the ovs vhost backend. >> >> >> >> Thanks, >> >> Billy >> >> >> >> *From:* ovs-discuss-bounces@openvswitch.org [mailto: >> ovs-discuss-bounces@openvswitch.org] *On Behalf Of *Loftus, Ciara >> *Sent:* Tuesday, August 21, 2018 9:06 AM >> *To:* gmzhang76@gmail.com; ovs-discuss@openvswitch.org >> *Cc:* users@dpdk.org >> *Subject:* Re: [ovs-discuss] ovs-dpdk crash when use vhost-user in docker >> >> >> >> Hi, >> >> >> >> I am cc-ing the DPDK users’ list as the SEGV originates in the DPDK vHost >> code and somebody there might be able to help too. >> >> Could you provide more information about your environment please? eg. OVS >> & DPDK versions, hugepage configuration, etc. >> >> >> >> Thanks, >> >> Ciara >> >> >> >> *From:* ovs-discuss-bounces@openvswitch.org [ >> mailto:ovs-discuss-bounces@openvswitch.org >> <ovs-discuss-bounces@openvswitch.org>] *On Behalf Of *??? >> *Sent:* Monday, August 20, 2018 12:06 PM >> *To:* ovs-discuss@openvswitch.org >> *Subject:* [ovs-discuss] ovs-dpdk crash when use vhost-user in docker >> >> >> >> Hi, >> >> >> >> I used ovs-dpdk as bridge and l2fwd as container. When l2fwd was >> runned ,the ovs-dpdk was crashed. >> >> >> >> My command is : >> >> >> >> docker run -it --privileged --name=dpdk-docker -v >> /dev/hugepages:/mnt/huge -v >> /usr/local/var/run/openvswitch:/var/run/openvswitch dpdk-docker >> >> ./l2fwd -c 0x06 -n 4 --socket-mem=1024 --no-pci >> --vdev=net_virtio_user0,mac=00:00:00:00:00:05,path=/var/run/openvswitch/vhost-user0 >> --vdev=net_virtio_user1,mac=00:00:00:00:00:01,path=/var/run/openvswitch/vhost-user1 >> -- -p 0x3 >> >> >> >> The crash log >> >> >> >> Program terminated with signal 11, Segmentation fault. >> >> #0 0x0000000000445828 in malloc_elem_alloc () >> >> Missing separate debuginfos, use: debuginfo-install >> glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 >> krb5-libs-1.15.1-8.el7.x86_64 libcap-ng-0.7.5-4.el7.x86_64 >> libcom_err-1.42.9-10.el7.x86_64 libgcc-4.8.5-16.el7_4.1.x86_64 >> libpcap-1.5.3-9.el7.x86_64 libselinux-2.5-12.el7.x86_64 >> numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 >> pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 >> >> (gdb) bt >> >> #0 0x0000000000445828 in malloc_elem_alloc () >> >> #1 0x0000000000445e5d in malloc_heap_alloc () >> >> #2 0x0000000000444c74 in rte_zmalloc () >> >> #3 0x00000000006c16bf in vhost_new_device () >> >> #4 0x00000000006bfaf4 in vhost_user_add_connection () >> >> #5 0x00000000006beb88 in fdset_event_dispatch () >> >> #6 0x00007f613b288e25 in start_thread () from /usr/lib64/libpthread.so.0 >> >> #7 0x00007f613a86b34d in clone () from /usr/lib64/libc.so.6 >> >> >> >> My OVS version is 2.9.1 , DPDK version is 17.11.3 >> >> >> >> >> >> Thanks >> >> >> >> >> >> >> >> >> > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-08-22 4:17 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <CAFvVKm6V9sN8PVw9+WF4h63ctmVpXTh4EHCm6uy9doibkkyKuQ@mail.gmail.com> 2018-08-21 8:05 ` [dpdk-users] [ovs-discuss] ovs-dpdk crash when use vhost-user in docker Loftus, Ciara 2018-08-21 8:17 ` O Mahony, Billy 2018-08-21 8:59 ` 张广明 2018-08-22 4:16 ` 张广明
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).