Hi All,

We are seeing  *ASSERT (vec_len (hw_if0->hw_address) == 6);* being hit in
*arp_mk_reply*() . This is happening on *19.08. *
We are having worker threads and a main thread.

As such , the hw_if0 appears to be valid(the pointer and content).
*But the length of the vector is 15. *
I have attached some information from the core file.

Thread 11 (Thread 0x7f085f7fe700 (LWP 261)):
#0  vlib_get_trace_count (vm=0x7f08bc310480, rt=0x7f08b9a3d0c0) at
/development/libvpp/src/vlib/trace_funcs.h:177
#1  0x00007f092b98082c in rtb_vpp_shm_device_input (vm=0x7f08bc310480,
shmm=0x7f092bbe9980 <rtb_vpp_shm_main_ctx>, shmif=0x7f08bbdf93c0,
node=0x7f08b9a3d0c0,
    frame=0x0, thread_index=2, queue_id=0) at
/development/libvpp/src/vpp/rtbrick/rtb_vpp_shm_node.c:341
#2  0x00007f092b98102e in rtb_vpp_shm_input_node_fn (vm=0x7f08bc310480,
node=0x7f08b9a3d0c0, f=0x0) at
/development/libvpp/src/vpp/rtbrick/rtb_vpp_shm_node.c:434
#3  0x00007f092a020c4f in dispatch_node (vm=0x7f08bc310480,
node=0x7f08b9a3d0c0, type=VLIB_NODE_TYPE_INPUT,
dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x0,
    last_time_stamp=3193893401554218) at
/development/libvpp/src/vlib/main.c:1207
#4  0x00007f092a022d9c in vlib_main_or_worker_loop (vm=0x7f08bc310480,
is_main=0) at /development/libvpp/src/vlib/main.c:1779
#5  0x00007f092a0238d1 in vlib_worker_loop (vm=0x7f08bc310480) at
/development/libvpp/src/vlib/main.c:1934
#6  0x00007f092a062306 in vlib_worker_thread_fn (arg=0x7f08b9749140) at
/development/libvpp/src/vlib/threads.c:1754
#7  0x00007f0929ce3600 in clib_calljmp () from
/usr/local/lib/libvppinfra.so.1.0.1
#8  0x00007f085f7fdec0 in ?? ()
#9  0x00007f092a05cb92 in vlib_worker_thread_bootstrap_fn
(arg=0x7f08b9749140) at /development/libvpp/src/vlib/threads.c:573
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 10 (Thread 0x7f085ffff700 (LWP 260)):
#0  0x00007f0935cb86c2 in __GI___waitpid (pid=7605,
stat_loc=stat_loc@entry=0x7f08bc73db18,
options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x00007f0935c23067 in do_system (line=<optimized out>) at
../sysdeps/posix/system.c:149
#2  0x00007f093673c21a in bd_signal_handler_cb (signo=6) at
/development/librtbrickinfra/bd/src/bd.c:770
#3  0x00007f092a088d17 in rtb_bd_signal_handler (signo=6) at
/development/libvpp/src/vlib/unix/main.c:80
#4  0x00007f092a0890b2 in unix_signal_handler (signum=6, si=0x7f08bc73e2f0,
uc=0x7f08bc73e1c0) at /development/libvpp/src/vlib/unix/main.c:180
#5  <signal handler called>
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#7  0x00007f0935c14801 in __GI_abort () at abort.c:79
#8  0x00007f092b827476 in os_panic () at
/development/libvpp/src/vpp/vnet/main.c:559
#9  0x00007f0929cc2825 in debugger () at
/development/libvpp/src/vppinfra/error.c:84
#10 0x00007f0929cc2bf4 in _clib_error (how_to_die=2, function_name=0x0,
line_number=0, fmt=0x7f092b1156b8 "%s:%d (%s) assertion `%s' fails")
    at /development/libvpp/src/vppinfra/error.c:143
#11 0x00007f092aa096bf in arp_mk_reply (vnm=0x7f092b5a05a0 <vnet_main>,
p0=0x1001e349c0, sw_if_index0=8, if_addr0=0x7f08bbe399f4,
arp0=0x1001e34b0e,
    eth_rx=0x1001e34b00) at /development/libvpp/src/vnet/ethernet/arp.c:1206
#12 0x00007f092aa09e76 in arp_reply (vm=0x7f08bc30fd40,
node=0x7f08bcc4dc80, frame=0x7f08be1835c0) at
/development/libvpp/src/vnet/ethernet/arp.c:1514
#13 0x00007f092a020c4f in dispatch_node (vm=0x7f08bc30fd40,
node=0x7f08bcc4dc80, type=VLIB_NODE_TYPE_INTERNAL,
dispatch_state=VLIB_NODE_STATE_POLLING,
    frame=0x7f08be1835c0, last_time_stamp=3193892880085078) at
/development/libvpp/src/vlib/main.c:1207
#14 0x00007f092a02140a in dispatch_pending_node (vm=0x7f08bc30fd40,
pending_frame_index=2, last_time_stamp=3193892880085078)
    at /development/libvpp/src/vlib/main.c:1375
#15 0x00007f092a02304e in vlib_main_or_worker_loop (vm=0x7f08bc30fd40,
is_main=0) at /development/libvpp/src/vlib/main.c:1826
#16 0x00007f092a0238d1 in vlib_worker_loop (vm=0x7f08bc30fd40) at
/development/libvpp/src/vlib/main.c:1934
#17 0x00007f092a062306 in vlib_worker_thread_fn (arg=0x7f08b9749040) at
/development/libvpp/src/vlib/threads.c:1754
#18 0x00007f0929ce3600 in clib_calljmp () from
/usr/local/lib/libvppinfra.so.1.0.1
#19 0x00007f085fffeec0 in ?? ()
#20 0x00007f092a05cb92 in vlib_worker_thread_bootstrap_fn
(arg=0x7f08b9749040) at /development/libvpp/src/vlib/threads.c:573
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) thread 10
[Switching to thread 10 (Thread 0x7f085ffff700 (LWP 260))]
#0  0x00007f0935cb86c2 in __GI___waitpid (pid=7605,
stat_loc=stat_loc@entry=0x7f08bc73db18,
options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
30 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
(gdb) fr 11
#11 0x00007f092aa096bf in arp_mk_reply (vnm=0x7f092b5a05a0 <vnet_main>,
p0=0x1001e349c0, sw_if_index0=8, if_addr0=0x7f08bbe399f4,
arp0=0x1001e34b0e,
    eth_rx=0x1001e34b00) at /development/libvpp/src/vnet/ethernet/arp.c:1206
1206 /development/libvpp/src/vnet/ethernet/arp.c: No such file or directory.
(gdb) info locals
hw_if0 = 0x7f08bcbd3538
rewrite0 = 0x7f08be193740 ""
rewrite0_len = 14 '\016'
eth_tx = 0x1001e34b00
next0 = 1
__FUNCTION__ = "arp_mk_reply"
(gdb) p *hw_if0
$1 = {name = 0x7f08bd513560 "ifp-0/0/3", flags =
(VNET_HW_INTERFACE_FLAG_LINK_UP |
VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE), link_speed = 0,
  hw_address = 0x7f08bbcedc20 "\017", output_node_index = 619,
tx_node_index = 618, dev_class_index = 10, dev_instance = 2, hw_class_index
= 25, hw_instance = 7,
  hw_if_index = 8, sw_if_index = 8, output_node_next_index = 8,
max_rate_bits_per_sec = 0, min_supported_packet_bytes = 64,
max_supported_packet_bytes = 9216,
  min_packet_bytes = 64, max_packet_bytes = 9216,
sub_interface_sw_if_index_by_id = 0x0, l2_if_count = 0, bond_info = 0x0,
input_node_index = 218,
  input_node_thread_index_by_queue = 0x7f08bbcedd50, rx_mode_by_queue =
0x7f08bbcedb40 "\002", default_rx_mode = VNET_HW_INTERFACE_RX_MODE_POLLING,
  dq_runtime_index_by_queue = 0x7f08bd513d60, numa_node = 0 '\000', padding
= "\000\000"}
(gdb) p ((vec_header_t *)$2) -1
$3 = (vec_header_t *) 0x7f08bbcedc18
(gdb) p *$3
$4 = {*len = 15*, dlmalloc_header_offset = 15, vector_data = 0x7f08bbcedc20
"\017"}
(gdb) x/6b hw_if0->hw_address
0x7f08bbcedc20: 15 0 0 0 15 0
(gdb) p hw_if0->hw_address
$5 = (u8 *) 0x7f08bbcedc20 "\017"
(gdb) p hw_if0->hw_address[0]
$6 = 15 '\017'
(gdb) x/15b hw_if0->hw_address
0x7f08bbcedc20: 15 0 0 0 15 0 0 0
0x7f08bbcedc28: 15 0 0 0 15 0 0
(gdb) p sw_if_index0
$7 = 8
(gdb) p arp0
$8 = (ethernet_arp_header_t *) 0x1001e34b0e
(gdb) p *arp0
$9 = {l2_type = 256, l3_type = 8, n_l2_address_bytes = 6 '\006',
n_l3_address_bytes = 4 '\004', opcode = 512, {ip4_over_ethernet = {{mac = {{
            bytes = "\017\000\000\000\017", u = {first_4 = 15, last_2 =
15}}}, ip4 = {data = "\"\000\000\003", data_u32 = 50331682, as_u8 =
"\"\000\000\003",
          as_u16 = {34, 768}, as_u32 = 50331682}}, {mac = {{bytes =
"\000\022\001\000\000\001", u = {first_4 = 70144, last_2 = 256}}}, ip4 =
{data = "\"\000\000\004",
          data_u32 = 67108898, as_u8 = "\"\000\000\004", as_u16 = {34,
1024}, as_u32 = 67108898}}}, data = 0x1001e34b16 "\017"}}
(gdb) p vnm->interface_main.sw_interfaces[8]
$10 = {type = VNET_SW_INTERFACE_TYPE_HARDWARE, flags =
VNET_SW_INTERFACE_FLAG_ADMIN_UP, sw_if_index = 8, sup_sw_if_index = 8,
unnumbered_sw_if_index = 0,
  hw_if_index = 8, mtu = {0, 1500, 1500, 1500}, sub = {id = 0, eth =
{outer_vlan_id = 0, inner_vlan_id = 0, {raw_flags = 0, flags = {no_tags =
0, one_tag = 0,
          two_tags = 0, dot1ad = 0, exact_match = 0, default_sub = 0,
outer_vlan_id_any = 0, inner_vlan_id_any = 0}}}}, p2p = {id = 0, pool_index
= 0,
    client_mac = "\000\000\000\000\000"}, flood_class =
VNET_FLOOD_CLASS_NORMAL}

Thanks,
Rajith
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16839): https://lists.fd.io/g/vpp-dev/message/16839
Mute This Topic: https://lists.fd.io/mt/75174006/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to