Hi Florin,
After adding use-mq-eventfd in VCL configuration, it is working as
expected.
Thanks! for your help.

vcl {
  rx-fifo-size 4000000
  tx-fifo-size 4000000
  app-scope-local
  app-scope-global
  use-mq-eventfd
  api-socket-name /tmp/vpp-api.sock
}

thanks,
-Raj

On Tue, Aug 4, 2020 at 12:08 AM Florin Coras <fcoras.li...@gmail.com> wrote:

> Hi Raj,
>
> Glad to hear that issue is solved. What vcl config are you running? Did
> you configure use-mq-eventd?
>
> Regards,
> Florin
>
> On Aug 3, 2020, at 8:33 PM, Raj Kumar <raj.gauta...@gmail.com> wrote:
>
> 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 (#17138): https://lists.fd.io/g/vpp-dev/message/17138
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to