Please try master/latest: https://gerrit.fd.io/r/c/vpp/+/21468 fixed a source of trivial spin-lock bugs.
HTH... Dave From: Dave Barach (dbarach) Sent: Thursday, August 22, 2019 12:11 PM To: Carlito Nueno <carlitonu...@gmail.com> Cc: vpp-dev@lists.fd.io Subject: RE: [vpp-dev] Crash when using dns_name_server NP, sorry for the issues, code simply not tested multi-core. BTW we just merged a refactor patch which converts the dns resolver into a plugin. Later this afternoon, I’ll do some multi-core testing. It may take a bit of work to repro and fix the problem you’ve reported. Dave From: Carlito Nueno <carlitonu...@gmail.com<mailto:carlitonu...@gmail.com>> Sent: Thursday, August 22, 2019 10:55 AM To: Dave Barach (dbarach) <dbar...@cisco.com<mailto:dbar...@cisco.com>> Cc: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> Subject: Re: [vpp-dev] Crash when using dns_name_server Thanks Dave! Let me know if you need me do more tests or gather more info. On Thu, Aug 22, 2019 at 4:48 AM Dave Barach (dbarach) <dbar...@cisco.com<mailto:dbar...@cisco.com>> wrote: Ack. The DNS server has had zero multi-core testing, aside from what you’ve done. I’ll look at it when I can. From: Carlito Nueno <carlitonu...@gmail.com<mailto:carlitonu...@gmail.com>> Sent: Wednesday, August 21, 2019 10:03 PM To: Dave Barach (dbarach) <dbar...@cisco.com<mailto:dbar...@cisco.com>> Cc: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> Subject: Re: [vpp-dev] Crash when using dns_name_server Hi Dave, Sorry about the late reply. I used below configs to eliminate most of the complexity. I did not see binary-api being truncated. Steps: 1. I used basic vpp.conf (see below) without the dns_name_server commands 2. gdb run -c /etc/vpp/startup.conf (see below) 3. sudo vppctl 4. Entered dns_name_server commands manually 5. ping google.com<http://google.com> 6. vpp crash Outputs collected: gbd run, gdb backtrace, syslog Step 4: DNS cache output vpp# nat44 add identity mapping external TenGigabitEthernet8/0/0 udp 53053 vpp# bin dns_name_server_add_del 8.8.8.8 vpp# bin dns_enable_disable vpp# sh dns cache verbose DNS cache contains 15 entries bserver-1.kbfs.keybaseapi.com<http://bserver-1.kbfs.keybaseapi.com> -> bserver-1.kbfs.keybaseapi.com<http://bserver-1.kbfs.keybaseapi.com>: 34.235.251.175 [59] 52.54.47.119 [59] TTL left 593.7 mdserver-0.kbfs.keybaseapi.com<http://mdserver-0.kbfs.keybaseapi.com> -> mdserver-0.kbfs.keybaseapi.com<http://mdserver-0.kbfs.keybaseapi.com>: 34.225.12.137 [45] 34.197.228.196 [45] TTL left 593.7 vortex.data.microsoft.com<http://vortex.data.microsoft.com> -> vortex.data.microsoft.com<http://vortex.data.microsoft.com>: 64.4.54.254 [263] TTL left 593.9 api.keybase.io<http://api.keybase.io> -> api.keybase.io<http://api.keybase.io>: 35.153.89.209 [34] 52.4.215.1 [34] TTL left 594.0 push.apple.com<http://push.apple.com> -> push.apple.com<http://push.apple.com>: TTL left 594.4 api.dropboxapi.com<http://api.dropboxapi.com> -> api.dropboxapi.com<http://api.dropboxapi.com>: 162.125.7.7 [59] TTL left 595.0 people-pa.clients6.google.com<http://people-pa.clients6.google.com> -> people-pa.clients6.google.com<http://people-pa.clients6.google.com>: 172.217.6.42 [240] TTL left 595.0 bolt.dropbox.com<http://bolt.dropbox.com> -> bolt.dropbox.com<http://bolt.dropbox.com>: 162.125.34.129 [59] TTL left 595.1 www.google.com<http://www.google.com> -> www.google.com<http://www.google.com>: 172.217.0.36 [263] TTL left 595.1 play.google.com<http://play.google.com> -> play.google.com<http://play.google.com>: 172.217.5.110 [27] TTL left 595.4 mail.google.com<http://mail.google.com> -> mail.google.com<http://mail.google.com>: 172.217.6.37 [299] TTL left 595.5 gateway-carry.icloud.com<http://gateway-carry.icloud.com> -> gateway-carry.icloud.com<http://gateway-carry.icloud.com>: 17.248.128.151 [59] 17.248.128.168 [59] 17.248.128.169 [59] 17.248.128.171 [59] 17.248.128.178 [59] 17.248.128.232 [59] 17.248.128.172 [59] 17.248.128.142 [59] TTL left 595.5 push.services.mozilla.com<http://push.services.mozilla.com> -> push.services.mozilla.com<http://push.services.mozilla.com>: 35.164.35.9 [56] TTL left 599.5 0.client-channel.google.com<http://0.client-channel.google.com> -> 0.client-channel.google.com<http://0.client-channel.google.com>: 74.125.28.189 [239] TTL left 599.6 airtable.com<http://airtable.com> -> airtable.com<http://airtable.com>: 3.221.153.172 [35] 34.193.210.213 [35] 52.22.150.146 [35] TTL left 599.6 Step 2: gdb run (gdb) run -c /etc/vpp/startup.conf Starting program: /usr/bin/vpp -c /etc/vpp/startup.conf [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". vlib_plugin_early_init:361: plugin path /usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins load_one_plugin:189: Loaded plugin: abf_plugin.so (Access Control List (ACL) Based Forwarding) load_one_plugin:189: Loaded plugin: acl_plugin.so (Access Control Lists (ACL)) load_one_plugin:189: Loaded plugin: avf_plugin.so (Intel Adaptive Virtual Function (AVF) Device Driver) load_one_plugin:189: Loaded plugin: cdp_plugin.so (Cisco Discovery Protocol (CDP)) load_one_plugin:189: Loaded plugin: crypto_ia32_plugin.so (Intel IA32 Software Crypto Engine) load_one_plugin:189: Loaded plugin: crypto_ipsecmb_plugin.so (Intel IPSEC Multi-buffer Crypto Engine) load_one_plugin:189: Loaded plugin: crypto_openssl_plugin.so (OpenSSL Crypto Engine) load_one_plugin:189: Loaded plugin: ct6_plugin.so (IPv6 Connection Tracker) load_one_plugin:189: Loaded plugin: dpdk_plugin.so (Data Plane Development Kit (DPDK)) load_one_plugin:189: Loaded plugin: flowprobe_plugin.so (Flow per Packet) load_one_plugin:189: Loaded plugin: gbp_plugin.so (Group Based Policy (GBP)) load_one_plugin:189: Loaded plugin: gtpu_plugin.so (GPRS Tunnelling Protocol, User Data (GTPv1-U)) load_one_plugin:189: Loaded plugin: hs_apps_plugin.so (Host Stack Applications) load_one_plugin:189: Loaded plugin: http_static_plugin.so (HTTP Static Server) load_one_plugin:189: Loaded plugin: igmp_plugin.so (Internet Group Management Protocol (IGMP)) load_one_plugin:189: Loaded plugin: ikev2_plugin.so (Internet Key Exchange (IKEv2) Protocol) load_one_plugin:189: Loaded plugin: ila_plugin.so (Identifier Locator Addressing (ILA) for IPv6) load_one_plugin:189: Loaded plugin: ioam_plugin.so (Inbound Operations, Administration, and Maintenance (OAM)) load_one_plugin:117: Plugin disabled (default): ixge_plugin.so load_one_plugin:189: Loaded plugin: l2e_plugin.so (Layer 2 (L2) Emulation) load_one_plugin:189: Loaded plugin: l3xc_plugin.so (L3 Cross-Connect (L3XC)) load_one_plugin:189: Loaded plugin: lacp_plugin.so (Link Aggregation Control Protocol (LACP)) load_one_plugin:189: Loaded plugin: lb_plugin.so (Load Balancer (LB)) load_one_plugin:189: Loaded plugin: mactime_plugin.so (Time-based MAC Source Address Filter) load_one_plugin:189: Loaded plugin: map_plugin.so (Mapping of Address and Port (MAP)) load_one_plugin:189: Loaded plugin: memif_plugin.so (Packet Memory Interface (memif) -- Experimental) load_one_plugin:189: Loaded plugin: nat_plugin.so (Network Address Translation (NAT)) load_one_plugin:189: Loaded plugin: nsh_plugin.so (Network Service Header (NSH)) load_one_plugin:189: Loaded plugin: nsim_plugin.so (Network Delay Simulator) load_one_plugin:189: Loaded plugin: perfmon_plugin.so (Performance Monitor) load_one_plugin:189: Loaded plugin: pppoe_plugin.so (PPP over Ethernet (PPPoE)) load_one_plugin:189: Loaded plugin: quic_plugin.so (Quic transport protocol) load_one_plugin:189: Loaded plugin: rdma_plugin.so (RDMA IBverbs Device Driver) load_one_plugin:117: Plugin disabled (default): sctp_plugin.so load_one_plugin:189: Loaded plugin: srv6ad_plugin.so (Dynamic Segment Routing for IPv6 (SRv6) Proxy) load_one_plugin:189: Loaded plugin: srv6am_plugin.so (Masquerading Segment Routing for IPv6 (SRv6) Proxy) load_one_plugin:189: Loaded plugin: srv6as_plugin.so (Static Segment Routing for IPv6 (SRv6) Proxy) load_one_plugin:189: Loaded plugin: stn_plugin.so (VPP Steals the NIC (STN) for Container Integration) load_one_plugin:189: Loaded plugin: svs_plugin.so (Source Virtual Routing and Fowarding (VRF) Select) load_one_plugin:189: Loaded plugin: tlsmbedtls_plugin.so (Transport Layer Security (TLS) Engine, Mbedtls Based) load_one_plugin:189: Loaded plugin: tlsopenssl_plugin.so (Transport Layer Security (TLS) Engine, OpenSSL Based) load_one_plugin:117: Plugin disabled (default): unittest_plugin.so load_one_plugin:189: Loaded plugin: vmxnet3_plugin.so (VMWare Vmxnet3 Device Driver) /usr/bin/vpp[9185]: clib_elf_parse_file: open `linux-vdso.so.1': No such file or directory /usr/bin/vpp[9185]: vnet_feature_init:143: WARNING: arp arc: last node is error-drop, but expected arp-disabled! /usr/bin/vpp[9185]: perfmon: No table for cpuid 506f1 /usr/bin/vpp[9185]: perfmon: model 5f, stepping 1 /usr/bin/vpp[9185]: dpdk: Unsupported PCI device 0x8086:0x19e2 found at PCI address 0000:01:00.0 /usr/bin/vpp[9185]: vlib_pci_bind_to_uio: Skipping PCI device 0000:05:00.0 as host interface enp5s0 is up /usr/bin/vpp[9185]: dpdk: EAL init args: -c c -n 4 --in-memory --file-prefix vpp -b 0000:05:00.0 --master-lcore 2 [New Thread 0x7fff90cff700 (LWP 9203)] [New Thread 0x7fff8bfff700 (LWP 9204)] loop0 tap0 vlib_worker_thread_barrier_sync_int: worker thread deadlock Thread 1 "vpp_main" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. ----------------------- Step 6: gdb backtrace (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007ffff61ca801 in __GI_abort () at abort.c:79 #2 0x000055555555bdf3 in os_panic () at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vpp/vnet/main.c:355 #3 0x00007ffff6ab621b in vlib_worker_thread_barrier_sync_int ( vm=vm@entry=0x7ffff6ce6a00 <vlib_global_main>, func_name=func_name@entry=0x7ffff6ad2ab0 <__FUNCTION__.43806> "vlib_cli_dispatch_sub_commands") at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/threads.c:1476 #4 0x00007ffff6a6c937 in vlib_cli_dispatch_sub_commands ( vm=vm@entry=0x7ffff6ce6a00 <vlib_global_main>, cm=cm@entry=0x7ffff6ce6c08 <vlib_global_main+520>, input=input@entry=0x7fffb6a36f60, parent_command_index=<optimized out>) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/cli.c:643 #5 0x00007ffff6a6c718 in vlib_cli_dispatch_sub_commands ( vm=vm@entry=0x7ffff6ce6a00 <vlib_global_main>, cm=cm@entry=0x7ffff6ce6c08 <vlib_global_main+520>, input=input@entry=0x7fffb6a36f60, parent_command_index=<optimized out>) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/cli.c:606 #6 0x00007ffff6a6c718 in vlib_cli_dispatch_sub_commands ( vm=vm@entry=0x7ffff6ce6a00 <vlib_global_main>, cm=cm@entry=0x7ffff6ce6c08 <vlib_global_main+520>, input=input@entry=0x7fffb6a36f60, parent_command_index=parent_command_index@entry=0) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/cli.c:606 #7 0x00007ffff6a6cab8 in vlib_cli_input () at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/cli.c:746 #8 0x00007ffff6ac5be2 in unix_cli_process_input (cm=0x7ffff6ce74c0 <unix_cli_main>, cli_file_index=0) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/unix/cli.c:2525 ---Type <return> to continue, or q <return> to quit--- #9 unix_cli_process () at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/unix/cli.c:2641 #10 0x00007ffff6a881a6 in vlib_process_bootstrap (_a=<optimized out>) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/main.c:1468 #11 0x00007ffff65a3834 in clib_calljmp () from /usr/lib/x86_64-linux-gnu/libvppinfra.so.19.08 #12 0x00007fffb5836b50 in ?? () #13 0x00007ffff6a8bf59 in vlib_process_startup (f=0x0, p=0x7fffb6a26000, vm=0x7ffff6ce6a00 <vlib_global_main>) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vppinfra/types.h:133 #14 dispatch_process (vm=0x7ffff6ce6a00 <vlib_global_main>, p=0x7fffb6a26000, last_time_stamp=0, f=0x0) at /w/workspace/vpp-beta-merge-1908-ubuntu1804/src/vlib/main.c:1535 #15 0x0000000000000000 in ?? () /var/log/syslog Aug 21 17:39:37 test1 vpp: buffer: vlib_physmem_shared_map_create: pmalloc_map_pages: Unable to fulfill huge page allocation request: No such file or directory Aug 21 17:39:37 test1 vpp: buffer: falling back to non-hugepage backed buffer pool Aug 21 17:39:37 test1 vpp: perfmon: No table for cpuid 506f1 Aug 21 17:39:37 test1 vpp: perfmon: model 5f, stepping 1 Info and configs used ++++++++++++++++++++++ Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-45-generic x86_64) ----------------------- vpp# sh version verbose Version: v19.08-release Compiled by: root Compile host: 365637461ad3 Compile date: Wed Aug 21 18:20:49 UTC 2019 Compile location: /w/workspace/vpp-beta-merge-1908-ubuntu1804 Compiler: GCC 8.3.0 Current PID: 9617 ------------------------ startup.conf unix { nodaemon log /var/log/vpp/vpp.log full-coredump cli-listen /run/vpp/cli.sock gid vpp startup-config /home/test1/vpp.conf } api-trace { on } api-segment { gid vpp } socksvr { default } statseg { default } cpu { main-core 2 corelist-workers 3 } nat { translation hash buckets 16000 max translations per user 500 endpoint-dependent } ------------------------- vpp.conf set int state TenGigabitEthernet8/0/0 up set int state GigabitEthernet2/0/0 up set int state GigabitEthernet3/0/0 up set int ip address TenGigabitEthernet8/0/0 72.77.156.155/29<http://72.77.156.155/29> ip route add 0.0.0.0/0<http://0.0.0.0/0> via 72.77.156.158 loopback create set int l2 bridge loop0 1 bvi set int ip address loop0 10.155.6.1/24<http://10.155.6.1/24> set int state loop0 up set int l2 bridge GigabitEthernet2/0/0 1 set int l2 bridge GigabitEthernet3/0/0 1 comment { dhcp server listens on this interface } create tap id 0 host-ip4-addr 10.155.6.2/24<http://10.155.6.2/24> host-if-name novlan set int l2 bridge tap0 1 set int state tap0 up nat44 add interface address TenGigabitEthernet8/0/0 set interface nat44 in loop0 out TenGigabitEthernet8/0/0 ------------------------- dnsmasq.conf # Gateway dhcp-option=novlan,3,10.155.6.1 # DNS server dhcp-option=novlan,6,10.155.6.1 -------------------------- Really appreciate your help! On Sat, Aug 17, 2019 at 1:37 PM Dave Barach via Lists.Fd.Io<http://Lists.Fd.Io> <dbarach=cisco....@lists.fd.io<mailto:cisco....@lists.fd.io>> wrote: I am trying to use DNS server and on "ping google.com<http://google.com>" VPP is crashing Color me unsurprised. Please fix your configuration, to the point where first-order obvious errors have been eliminated. It looks to me like the “binary-api dns_name_server_add_del 8.8.8.8” command has been truncated: Aug 13 21:31:10 test1-vpp vnet[853]: unknown input `add_del 8.8.8.8 Aug 13 21:31:28 test1-vpp vnet[853]: dns cache: add / del / clear required.. Aug 13 21:31:36 test1-vpp vnet[853]: vl_api_dns_resolve_name_reply_t_handler:2556: ip4 address 23.75.7.244 Aug 13 21:32:24 test1-vpp vnet[853]: dns cache: add / del / clear required.. Aug 13 21:34:43 test1-vpp vnet[853]: resolve_event:247: name server 8.8.8.8 backfire Here is the config that I use on my home gateway. uncomment { nat44 add identity mapping external GigabitEthernet3/0/0 udp 53053 } uncomment { bin dns_name_server_add_del 8.8.8.8 } uncomment { bin dns_enable_disable } $ ping google.com<http://google.com> # on my desktop, behind the vpp gateway PING google.com<http://google.com> (172.217.7.174) 56(84) bytes of data. 64 bytes from 172.217.7.174 (172.217.7.174): icmp_seq=1 ttl=54 time=26.3 ms 64 bytes from 172.217.7.174 (172.217.7.174): icmp_seq=2 ttl=54 time=21.5 ms vpp# sh dns cache weatherlink.com<http://weatherlink.com> -> weatherlink.com<http://weatherlink.com>: 54.172.164.1 [21338] TTL left 489.9 xxl.trane.com<http://xxl.trane.com> -> xxl.trane.com<http://xxl.trane.com>: 168.65.229.203 [781] EXPIRED google.com<http://google.com> -> google.com<http://google.com>: 172.217.7.174 [189] TTL left 552.1 www.google.com<http://www.google.com> -> www.google.com<http://www.google.com>: 172.217.164.164 [189] TTL left 569.6 dns.msftncsi.com<http://dns.msftncsi.com> -> dns.msftncsi.com<http://dns.msftncsi.com>: 131.107.255.255 [15] TTL left 569.9 kv801-prod.do.dsp.mp.microsoft.com<http://kv801-prod.do.dsp.mp.microsoft.com> -> kv801-prod.do.dsp.mp.microsoft.com<http://kv801-prod.do.dsp.mp.microsoft.com>: 23.67.120.218 [19] TTL left 571.7 geo-prod.do.dsp.mp.microsoft.com<http://geo-prod.do.dsp.mp.microsoft.com> -> geo-prod.do.dsp.mp.microsoft.com<http://geo-prod.do.dsp.mp.microsoft.com>: 40.69.221.239 [121] TTL left 571.1 outlook.office365.com<http://outlook.office365.com> -> outlook.office365.com<http://outlook.office365.com>: 52.96.62.226 [38] TTL left 571.5 174.7.217.172.in-addr.arpa -> 174.7.217.172.in-addr.arpa: TTL left 573.6 client.wns.windows.com<http://client.wns.windows.com> -> client.wns.windows.com<http://client.wns.windows.com>: 52.242.211.89 [299] TTL left 574.1 www.nr-extensions.tk<http://www.nr-extensions.tk> -> www.nr-extensions.tk<http://www.nr-extensions.tk>: 165.22.1.78 [190] TTL left 589.7 ip-api.com<http://ip-api.com> -> ip-api.com<http://ip-api.com>: 147.135.15.186 [99] TTL left 589.9 www.instagram.com<http://www.instagram.com> -> www.instagram.com<http://www.instagram.com>: 31.13.65.174 [59] TTL left 590.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13779): https://lists.fd.io/g/vpp-dev/message/13779 Mute This Topic: https://lists.fd.io/mt/32881233/675621 Group Owner: vpp-dev+ow...@lists.fd.io<mailto:vpp-dev%2bow...@lists.fd.io> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [carlitonu...@gmail.com<mailto:carlitonu...@gmail.com>] -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13833): https://lists.fd.io/g/vpp-dev/message/13833 Mute This Topic: https://lists.fd.io/mt/32881233/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-