- status: assigned --> review
avnd_clm_init() retries saClmInitialize_4() indefinitely on SA_AIS_ERR_TRY_AGAIN, SA_AIS_ERR_TIMEOUT, and SA_AIS_ERR_UNAVAILABLE with only a 100ms sleep between retries, but no timeout or reboot trigger. This causes osafamfnd to stay permanently stuck, leaving the node disabled in AMF with no automatic recovery.
Root Cause:
saClmInitialize_4() can fail persistently in two distinct ways:
CLMS not yet registered in MDS (clms_up == false): returns SA_AIS_ERR_UNAVAILABLE immediately. This occurs when CLMD has not yet started or has not yet registered with MDS. Each retry returns instantly, so the 100ms sleep paces the loop at ~10 retries/second — but since there is no retry limit, the loop runs forever if CLMS never comes up.
CLMS registered but unresponsive (clms_up == true): the agent proceeds to send an MDS SNDRSP message to CLMS and waits for a response. If CLMS does not respond (e.g. CLMD has started and registered in MDS but has not yet been elected active coordinator by AMF), the MDS sync send blocks for the full CLMS_WAIT_TIME timeout (1000 × 10ms = 10 seconds) before returning SA_AIS_ERR_TRY_AGAIN. In this case each retry costs ~10 seconds, making the 100ms sleep irrelevant and the stuck state effectively permanent.