vpp icon indicating copy to clipboard operation
vpp copied to clipboard

VAPI client crash and VPP hung state

Open avadhootd opened this issue 1 year ago • 0 comments

Hello,

We have a c application connecting to VAPI with vapi_connect and maintaining the returned context throughout the life of the program unless VPP restarts (in which case it does vapi_disconnect and connect back with vapi_connect).

We are using this vapi context for various purposes including fetching/adding/deleting ipip tunnels, fetching/adding/deleting sr policies, etc.. We have a mutex internally maintained in our application which ensures that we are not doing multiple operations on VAPI simultaneously.

We see that this approach works fine, however at times we see it crashes and VPP goes into a hung state.

Can someone help with this? Is this recommended approach to maintain a persistent context or is it advisable to connect and disconnect for every single operation?

Thanks,

Avadhoot

Core pattern that we observe: We see that the context is valid and connected as true. Its not holding lock present inside vapi_ctx_t struct.

image

When VPP goes into hung state:

Here VPP is waiting on the lock which was held by our application which had os_panic and abort.

image

avadhootd avatar Oct 10 '24 19:10 avadhootd