Hi Anna, are you calling vlib_process_signal_event() from worker threads? If so, you should probably use vlib_process_signal_event_mt() instead. Otherwise can you share how you are calling vlib_process_signal_event()?
Best ben ________________________________________ From: [email protected] <[email protected]> on behalf of Anna Neiman <[email protected]> Sent: Monday, March 2, 2026 16:47 To: [email protected] Subject: [vpp-dev] pool_is_free_index in timer_addhead - possible race condition ? Hello vpp experts, I have an issue , that in the function timer_addhead , on the call new = pool_elt_at_index (pool, new_index); The "new_index" is the free index of the pool. It is reproducible once a week- -two weeks I don't have the direct calls of the timer API in the proprietary code , only via vlib_process_signal_event to the process node What can be the reason of such behaviour ? My suspicious is the race condition - I paid attention that vlib_process_t::stop_timer_handle is set from vlib_process_signal_event and dispatch_suspended_process, so it can be in the different threads simultaneously. Does it make sense ? The vpp version is 24.10
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#26851): https://lists.fd.io/g/vpp-dev/message/26851 Mute This Topic: https://lists.fd.io/mt/118095789/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
