[Home]

Summary:ASTERISK-24822: Deadlock: Fax Gateway framehook creates locking inversion in T.38 query option with features bridging code
Reporter:David Brillert (aragon)Labels:
Date Opened:2015-02-23 10:12:02.000-0600Date Closed:2016-08-26 14:05:04
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:11.14.2 Frequency of
Occurrence
Occasional
Related
Issues:
duplicatesASTERISK-22732 Deadlock potential in res_fax and CCSS with local channels.
is related toASTERISK-26203 res_fax: Deadlock when using FAXOPT(gateway)=yes with Local channels
Environment:CentOS5 64bitAttachments:( 0) CodeShowLocks.txt
( 1) DebugOutput.txt
Description:Asterisk locks, no output from sip CLI commands during lock.
core show locks attached
gdb thread apply all bt attached
Don't know how to reproduce...
Comments:By: Matt Jordan (mjordan) 2015-02-23 11:30:08.655-0600

It'd be a relatively rare locking inversion, but it can happen.

In the fax framehook, we have channel {{0x9999a20}} locked. That's normal in an {{ast_indicate_data}} callback. The framehook calls {{ast_channel_get_t38_state}}, which calls {{ast_channel_queryoption}} on another channel - in this case {{0x9c63830}}.

Meanwhile, {{app_dial}} has indicated to data to {{0x9c63830}}, which causes it to reach across its bridge to indicate a source update to {{0x9999a20}}. This is okay, except that {{0x9999a20}} is currently locked by the fax framehook.

By: David Brillert (aragon) 2015-02-23 11:54:32.504-0600

Thanks, It's happening fairly often therefore any patch would be much appreciated :)

By: David Brillert (aragon) 2015-03-30 08:30:17.056-0500

This is happening several times a week on multiple sites.  Anywhere that has T.38 gateway mode enabled and decent call volumes.
I really need a fix.  We have to disable T.38 to bring stability with no deadlocks but at the sacrifice of unstable faxing.  This is really starting to hurt financially.

By: David Brillert (aragon) 2015-08-17 11:42:48.339-0500

ping

By: David Brillert (aragon) 2016-08-19 14:08:00.150-0500

A different customer...
Two deadlocks in 7 days in same place.  I have seen a lot of gerrit patches for fax lately but nothing addressing this issue.

By: Richard Mudgett (rmudgett) 2016-08-25 18:59:42.545-0500

Gerrit reviews:
https://gerrit.asterisk.org/#/c/3698/ through https://gerrit.asterisk.org/#/c/3723/

By: David Brillert (aragon) 2016-08-26 10:46:04.763-0500

Thanks Richard :D