[asterisk-bugs] [JIRA] (ASTERISK-17217) [patch] race condition in setting local capabilities for Setup when fastStart is enabled

Matt Jordan (JIRA) noreply at issues.asterisk.org
Tue Aug 12 11:20:35 CDT 2014


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

Matt Jordan closed ASTERISK-17217.
----------------------------------

    Resolution: Won't Fix

> [patch] race condition in setting local capabilities for Setup when fastStart is enabled
> ----------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-17217
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-17217
>             Project: Asterisk
>          Issue Type: Bug
>          Components: Channels/chan_h323
>            Reporter: under
>            Severity: Minor
>         Attachments: 12251.diff, fail.log, ok.log
>
>
> When fastStart is enabled, terminal capabilities (supported codecs/dtmf modes) should be sent in Setup to remote peer. But sometimes they are not set and Setup is sent empty. This leads to voice path is not created (remote peer doesn't know what are our capabilities). Some equipment drop this call immediately.
> This happens due to race condition.
> Sometimes "oh323_pvt.cd.call_token" is set AFTER openh323 "asks" chan_h323 for local capabilities (because it "asks" in separate thread from the one where MyMakeCall() is invoked).
> And therefore, when openh323 "asks" for local capabilities, chan_h323 is unable to find "oh323_pvt" structure in set_local_capabilities() by call reference and call_token, because call_token was not set yet (it happens in different thread, as I already wrote).
> However "oh323_pvt.cd.call_reference" is set ok, because it's set under H323Connection::Lock().
> Same logic should be used for "call_token" to prevent race condition.
> ****** ADDITIONAL INFORMATION ******
> This issue didn't reproduce when I used Asterisk on freeBSD. Started to reproduce when I started using Gentoo Linux. This issue is likely to be timing and hardware dependent.



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



More information about the asterisk-bugs mailing list