Hi Florin, This issue is resolved now. In my application, on receiving the kill signal main thread was sending phread_cancel() to the child thread because of that child thread was not exiting gracefully. I have one question; it seems that vppcom_epoll_wait(epfd, rcvEvents, MAX_RETURN_EVENTS, 60000.0) is not returning after timed out if the timeout value is a non zero value. It timed out only if the timeout value is 0. The issue that I am facing is that if there is no traffic at all ( receiver is just listening on the connections ) then the worker thread is not exiting as it is blocked by vppcom_epoll_wait().
Thanks, -Raj On Wed, Jul 29, 2020 at 11:23 PM Florin Coras <fcoras.li...@gmail.com> wrote: > Hi Raj, > > In that case it should work. Just from the trace lower it’s hard to figure > out what exactly happened. Also, keep in mind that vcl is not thread safe, > so make sure you’re not trying to share sessions or allow two workers to > interact with the message queue(s) at the same time. > > Regards, > Florin > > On Jul 29, 2020, at 8:17 PM, Raj Kumar <raj.gauta...@gmail.com> wrote: > > Hi Florin, > I am using kill <pid> to stop the application. But , the application has a > kill signal handler and after receiving the signal it is exiting gracefully. > About vppcom_app_exit, I think this function is registered with atexit() > inside vppcom_app_create() so it should call when the application exits. > Even, I also tried this vppcom_app_exit() explicitly before exiting the > application but still I am seeing the same issue. > > My application is a multithreaded application. Can you please suggest some > cleanup functions ( vppcom functions) that I should call before exiting a > thread and the main application for a proper cleanup. > I also tried vppcom_app_destroy() before exiting the main application but > still I am seeing the same issue. > > thanks, > -Raj > > On Wed, Jul 29, 2020 at 5:34 PM Florin Coras <fcoras.li...@gmail.com> > wrote: > >> Hi Raj, >> >> Does stopping include a call to vppcom_app_exit or killing the >> applications? If the latter, the apps might be killed with some >> mutexes/spinlocks held. For now, we only support the former. >> >> Regards, >> Florin >> >> > On Jul 29, 2020, at 1:49 PM, Raj Kumar <raj.gauta...@gmail.com> wrote: >> > >> > Hi, >> > In my UDP application , I am using VPP host stack to receive packets >> and memIf to transmit packets. There are a total 6 application connected to >> VPP. >> > if I stop the application(s) then VPP is crashing. In vpp >> configuration , 4 worker threads are configured. If there is no worker >> thread configured then I do not see this crash. >> > Here is the VPP task trace - >> > (gdb) bt >> > #0 0x00007ffff51818df in raise () from /lib64/libc.so.6 >> > #1 0x00007ffff516bcf5 in abort () from /lib64/libc.so.6 >> > #2 0x000055555555c123 in os_panic () at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vpp/vnet/main.c:366 >> > #3 0x00007ffff6b466bb in vlib_worker_thread_barrier_sync_int >> (vm=0x7ffff6d78200 <vlib_global_main>, func_name=<optimized out>) >> > at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vlib/threads.c:1529 >> > #4 0x00007ffff7bc5ef0 in vl_msg_api_handler_with_vm_node >> > (am=am@entry=0x7ffff7dd2ea0 >> <api_global_main>, >> > vlib_rp=vlib_rp@entry=0x7fee7c001000, the_msg=0x7fee7c02bbd8, >> vm=vm@entry=0x7ffff6d78200 <vlib_global_main>, >> > node=node@entry=0x7fffb6295000, is_private=is_private@entry=1 >> '\001') >> > at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vlibapi/api_shared.c:596 >> > #5 0x00007ffff7bb000f in void_mem_api_handle_msg_i (is_private=1 >> '\001', node=0x7fffb6295000, vm=0x7ffff6d78200 <vlib_global_main>, >> > vlib_rp=0x7fee7c001000, am=0x7ffff7dd2ea0 <api_global_main>) >> > at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vlibmemory/memory_api.c:698 >> > #6 vl_mem_api_handle_msg_private (vm=vm@entry=0x7ffff6d78200 >> <vlib_global_main>, node=node@entry=0x7fffb6295000, reg_index=<optimized >> out>) >> > at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vlibmemory/memory_api.c:762 >> > #7 0x00007ffff7bbe346 in vl_api_clnt_process (vm=<optimized out>, >> node=0x7fffb6295000, f=<optimized out>) >> > at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vlibmemory/vlib_api.c:370 >> > #8 0x00007ffff6b161d6 in vlib_process_bootstrap (_a=<optimized out>) >> > at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vlib/main.c:1502 >> > #9 0x00007ffff602ac0c in clib_calljmp () from >> /lib64/libvppinfra.so.20.05 >> > #10 0x00007fffb5e93dd0 in ?? () >> > #11 0x00007ffff6b19821 in dispatch_process (vm=0x7ffff6d78200 >> <vlib_global_main>, p=0x7fffb6295000, last_time_stamp=15931923011231136, >> > f=0x0) at >> /usr/src/debug/vpp-20.05-9~g0bf9c294c_dirty.x86_64/src/vppinfra/types.h:133 >> > #12 0x7f0f660000009024 in ?? () >> > >> > >> > Thanks, >> > -Raj >> > >> >> > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#17130): https://lists.fd.io/g/vpp-dev/message/17130 Mute This Topic: https://lists.fd.io/mt/75873900/21656 Mute #vpp-hoststack: https://lists.fd.io/g/fdio+vpp-dev/mutehashtag/vpp-hoststack Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-