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

Kevin Harwell (JIRA) noreply at issues.asterisk.org
Mon Jul 8 13:16:47 CDT 2019


     [ https://issues.asterisk.org/jira/browse/ASTERISK-28470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Harwell closed ASTERISK-28470.
------------------------------------

    Resolution: Suspended

Yes, it's quite possible a newer version could resolve your issue. I'm closing this issue for now, but if you experience the same problem on the latest version feel free to respond and re-open this issue.

Also, it sounds like you are running a modified (custom patched) version of Asterisk. If this is the case you'll also have to isolate the problem without any custom patches applied or we will be unable to look into it.

> 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: Channels/chan_sip/General
>    Affects Versions: 16.3.0
>         Environment: CentOS 6.10
>            Reporter: Andre Heber
>            Assignee: Unassigned
>         Attachments: info_threads.png, mutex_1.png, mutex_2.png, stack_trace_1.png, stack_trace_2.png
>
>
> 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