[asterisk-bugs] [JIRA] (ASTERISK-28470) Mutex deadlock in audio_audiohook_write_list

Andre Heber (JIRA) noreply at issues.asterisk.org
Wed Jul 3 07:44:47 CDT 2019


Andre Heber created ASTERISK-28470:
--------------------------------------

             Summary: Mutex deadlock in audio_audiohook_write_list
                 Key: ASTERISK-28470
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28470
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: General
    Affects Versions: 16.3.0
         Environment: CentOS 6.10
            Reporter: Andre Heber


In main/audiohook.c in the function "audio_audiohook_write_list" is the following code:
{code:java}
    ast_audiohook_lock(audiohook);
		if (audiohook->status != AST_AUDIOHOOK_STATUS_RUNNING) {
			AST_LIST_REMOVE_CURRENT(list);
			removed = 1;
			ast_audiohook_update_status(audiohook, AST_AUDIOHOOK_STATUS_DONE);
			ast_audiohook_unlock(audiohook);
{code}

But "ast_audiohook_update_status" also locks "audiohook" "if (audiohook->status != AST_AUDIOHOOK_STATUS_RUNNING)", which results in a frozen thread.

This happens 3x in "audio_audiohook_write_list" and 1x in "dtmf_audiohook_write_list".



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list