I am working on the nr sdk for mesh application,When the nodes conncted to the network , it needs to configured before using nRF mesh app ,My device also configured through this and working properly, After some days my device was not working then i debugged using segger tool, at the time i was getting the error like app_error_weak.c, 119, Mesh error 15 at 0x0002750D , then i searched in nrf error.h file , Mesh error 15 is NRF_ERROR_FORBIDDEN , then i found it is comming from net_state_seqnum_alloc()
Inside the net_state_seqnum_alloc() , The condition if (m_net_state.seqnum < m_net_state.seqnum_max_available) got failed and returened NRF_ERROR_FORBIDDEN.
When we configured the device newly that time ,
the m_net_state.seqnum < m_net_state.seqnum_max_available condition satisfied and when m_net_state.seqnum is greater than the threshold value it will enter the iv_update_trigger_if_pending() function and it will be reset
m_net_state.seqnum = 0;
but when stop the debugger and again start doing again and again ,at one point if (m_net_state.seqnum < m_net_state.seqnum_max_available) condition getting failed and retured NRF_ERROR_FORBIDDEN, it didn't reset the m_net_state.seqnum = 0; and value also not stored in flash using flash_store_iv_index()
Could anyone share why my device went to NRF_ERROR_FORBIDDEN state?