Do you have the DPDK plugin loaded? It looks like “no”.

 

If not, it’s likely because the buffer allocator used when DPDK is not loaded 
is not yet thread-safe. I’ve done some early work on this but it’s not going to 
make it into the open for a while.

 

For now, don’t enable worker threads if DPDK plugin isn’t loaded.

 

Chris.

 

From: <vpp-dev-boun...@lists.fd.io> on behalf of Sreejith Surendran Nair 
<sreejith.surendrann...@linaro.org>
Date: Wednesday, June 21, 2017 at 02:33
To: vpp-dev <vpp-dev@lists.fd.io>
Subject: [vpp-dev] Help regarding af_packet worker thread assertion

 

Hi All,

This regarding running worker threads with af_packet interface on VM ubuntu 
16.10. 

I have tried configuring the af_packet interface with cpu worker thread support 
but I am getting assertion fail not sure if it is due to worker thread getting 
scheduled on core 0.

Config :
-----------

startup config:
cpu {
  workers 1
}

DBGvpp# sh threads
ID     Name                Type        LWP     Sched Policy (Priority)  lcore  
Core   Socket State     
0      vpp_main                        23372   other (0)                0      
0      0      
1      vpp_wk_0            workers     23376   other (0)                1      
1      0      
2                          stats       23377   other (0)                0      
0      0      
DBGvpp# create host-interface name enp0s9 hw-addr 08:00:27:06:00:de
host-enp0s9
DBGvpp# sh int
              Name               Idx       State          Counter          
Count     
host-enp0s9                       1        down      
local0                            0        down      
DBGvpp# set int ip address host-enp0s9 192.168.56.104/24
DBGvpp# set int state host-enp0s9 up

GDB:
---------

1: 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/buffer_funcs.h:224
 (vlib_buffer_set_known_state) assertion `vlib_get_thread_index () == 0' fails
Failed to save post-mortem API trace to /tmp/api_post_mortem.23372

Thread 2 "vpp_wk_0" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff93493700 (LWP 23376)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
58    ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) 
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1  0x00007ffff5e203ea in __GI_abort () at abort.c:89
#2  0x000055555555c29c in os_panic () at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vpp/vnet/main.c:263
#3  0x00007ffff6601959 in debugger () at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vppinfra/error.c:84
#4  0x00007ffff6601d61 in _clib_error (how_to_die=2, function_name=0x0, 
line_number=0, fmt=0x7ffff797b000 "%s:%d (%s) assertion `%s' fails")
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vppinfra/error.c:143
#5  0x00007ffff78b58d2 in vlib_buffer_set_known_state (vm=0x7fffb5f046f8, 
buffer_index=68, state=VLIB_BUFFER_KNOWN_FREE)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/buffer_funcs.h:224
#6  0x00007ffff78b87e8 in fill_free_list (vm=0x7fffb5f046f8, fl=0x7fffb6072140, 
min_free_buffers=256)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/buffer.c:556
#7  0x00007ffff78b8938 in alloc_from_free_list (vm=0x7fffb5f046f8, 
free_list=0x7fffb6072140, alloc_buffers=0x7fffb6483464, n_alloc_buffers=256)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/buffer.c:592
#8  0x00007ffff78b8b7c in vlib_buffer_alloc_internal (vm=0x7fffb5f046f8, 
buffers=0x7fffb6483464, n_buffers=256)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/buffer.c:620
#9  0x00007ffff73c15b4 in vlib_buffer_alloc (vm=0x7fffb5f046f8, 
buffers=0x7fffb6483464, n_buffers=256)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/buffer_funcs.h:251
#10 0x00007ffff73c2be0 in af_packet_device_input_fn (vm=0x7fffb5f046f8, 
node=0x7fffb6079d9c, frame=0x0, apif=0x7fffb5495a80)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vnet/devices/af_packet/node.c:141
#11 0x00007ffff73c3337 in af_packet_input_fn (vm=0x7fffb5f046f8, 
node=0x7fffb6079d9c, frame=0x0)
    at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vnet/devices/af_packet/node.c:259
#12 0x00007ffff78f2fe6 in dispatch_node (vm=0x7fffb5f046f8, 
node=0x7fffb6079d9c, type=VLIB_NODE_TYPE_INPUT, 
dispatch_state=VLIB_NODE_STATE_INTERRUPT, frame=0x0, 
    last_time_stamp=237041860335868) at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/main.c:1016
#13 0x00007ffff78f4f5f in vlib_main_or_worker_loop (vm=0x7fffb5f046f8, 
is_main=0) at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/main.c:1552
#14 0x00007ffff78f570f in vlib_worker_loop (vm=0x7fffb5f046f8) at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/main.c:1650
#15 0x00007ffff793ef94 in vlib_worker_thread_fn (arg=0x7fffb5694e40) at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/threads.c:1378
#16 0x00007ffff6624edc in clib_calljmp () at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vppinfra/longjmp.S:110
#17 0x00007fff93492ed0 in ?? ()
#18 0x00007ffff793a4a5 in vlib_worker_thread_bootstrap_fn (arg=0x7fffb5694e40) 
at 
/home/sreejith/Downloads/sachin_odp4vpp/odp4vpp/build-data/../src/vlib/threads.c:464
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) 

 

It is not clear if I missed any needed config in the startup file configuration 
or an issue with an environment.  I also tried on different Centos native 
machine but saw assertion.

If possible could you please suggest if anything I missed out.

Thanks & Regards,

Sreejith

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to