Hi ,

We are seeing a crash while doing add_trace for a vlib_buffer in our graph node.

#0 0x00007ffff4ee0feb in raise () from /lib64/libc.so.6
#1 0x00007ffff4ecb5c1 in abort () from /lib64/libc.so.6
#2 0x000000000040831c in os_panic () at 
/fdio/src/fdio.1810/src/vpp/vnet/main.c:368
#3 0x00007ffff5f28f2f in debugger () at 
/fdio/src/fdio.1810/src/vppinfra/error.c:84
#4 0x00007ffff5f2936a in _clib_error (how_to_die=2, function_name=0x0, 
line_number=0, fmt=0x7fffb2083920 "%s:%d (%s) assertion `%s' fails")
at /fdio/src/fdio.1810/src/vppinfra/error.c:143
#5 0x00007fffb2035d79 in vlib_validate_trace (tm=0x7fffbaccfd58, 
b=0x2aaab447d940)
at /fdio/src/fdio.1810/src/vlib/trace_funcs.h:53
#6 0x00007fffb2035ec8 in vlib_add_trace (vm=0x7fffbaccfb40, r=0x7fffbb430f40, 
b=0x2aaab447d940, n_data_bytes=36)

The assert is pointing to following line in the code.
ASSERT (!pool_is_free_index (tm->trace_buffer_pool,
vlib_buffer_get_trace_index (b)));

One specific point with this crash is:
This crash is happening only when we have multiple workers in VPP. Following is 
the scenario this crash is happening.
1. Packet comes to worker-1 from nic card
2. graph node on worker-1 hands off the packet to worker-2
3. In worker-2, while processing the packet, we are trying to add the trace 
using vlib_add_trace and this crash occurs.

The trace buffer within vlib_buffer_t, is it specific to worker ?
If so, what happens, when the buffer gets hand off to another worker ?
Can this cause the above crash ?

--
Thanks & Regards,
Murthy
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16613): https://lists.fd.io/g/vpp-dev/message/16613
Mute This Topic: https://lists.fd.io/mt/74625018/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