I've been running into issues on certain servers where I get an assert:

Aug 08 09:51:52 p5s3 systemd[1]: vpp.service: Main process exited, code=killed, status=6/ABRT
Aug 08 09:51:52 p5s3 systemd[1]: vpp.service: Unit entered failed state.
Aug 08 09:51:52 p5s3 systemd[1]: vpp.service: Failed with result 'signal'.

here in ping.c

vlib_process_signal_event (vm, pr->cli_process_id, event_type, bi0_copy);

which calls vec_elt, where the assert actually occurs.

/** \brief Get vector value at index i checking that i is in bounds. */
#define vec_elt_at_index(v,i)                   \
({                                              \
  ASSERT ((i) < vec_len (v));                   \
  (v) + (i);                                    \
})

/** \brief Get vector value at index i */
#define vec_elt(v,i) (vec_elt_at_index(v,i))[0]

pr->cli_process_id is set in run_ping_ip46_address() and always seems to be 344.

  uword curr_proc = vlib_current_process (vm);

:

  pr->cli_process_id = curr_proc;

vec_len(v) seems to be 32 (Does that make sense?).

Everything else seems to work OK. I can do "show interface (addr)", "show ip arp".

Any ideas?

This is stock apt install on Ubuntu 16.04 LTS on HPG9 and SMC servers with Intel 82599 NICs.

Thanks,

Steve Heckman

Principal Software Engineer

Arris

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to