Asterisk
  1. Asterisk
  2. ASTERISK-13045

Crash in ast_bridge_call() when 'NoCDR' app called inside Local channel

    Details

    • Type: Bug Bug
    • Status: Closed
    • Severity: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Resources/res_features
    • Labels:
      None
    • SVN Revision Number:
      155861
    • Mantis ID:
      13871
    • Regression:
      No

      Description

      Here's the dialplan:

      [xyz]
      exten => 100,1,Dial(Local/100@fork-xyz,10,)

      [fork-xyz]
      exten => 100,1,Wait(1)
      exten => 100,n,NoCDR
      exten => 100,n,Dial(SIP/xyz010001,10,)
      exten => 100,n,Hangup

      Scenario: SIP/xyz011101 (polycom 501) calls extension 100. xyz010001 (cisco 7960) starts ringing. Asterisk crashes immediately after xyz010001 answers the call.
      Console output and backtrace are in attached nocdr-crash.txt

                • ADDITIONAL INFORMATION ******

      If '/n' added to local channel then callee can answer the call fine. Asterisk crashes at hangup in that case.

        Activity

        Hide
        mdu113 added a comment -

        Actually Local channel isn't required to reproduce it. It crashes with a simple call as well. Here's updated dialplan:
        [xyz]
        exten => 100,1,NoCDR
        exten => 100,n,Dial(SIP/xyz010001,10,)
        Scenario: SIP/xyz011101 dials extension 100. SIP/xyz010001 answered the call and then hangs up. At this point asterisk crashes (i.e. after hang up was initiated). Console output and backtrace are in nocdr-crash2.txt.
        FYI: it doesn't matter which party initiated hang up. asterisk crashes anyway.

        Show
        mdu113 added a comment - Actually Local channel isn't required to reproduce it. It crashes with a simple call as well. Here's updated dialplan: [xyz] exten => 100,1,NoCDR exten => 100,n,Dial(SIP/xyz010001,10,) Scenario: SIP/xyz011101 dials extension 100. SIP/xyz010001 answered the call and then hangs up. At this point asterisk crashes (i.e. after hang up was initiated). Console output and backtrace are in nocdr-crash2.txt. FYI: it doesn't matter which party initiated hang up. asterisk crashes anyway.
        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 158483

        U branches/1.4/res/res_features.c

        ------------------------------------------------------------------------
        r158483 | murf | 2008-11-21 15:19:42 -0600 (Fri, 21 Nov 2008) | 11 lines

        (closes issue ASTERISK-13045)
        Reported by: mdu113

        This one is totally my fault. The code doesn't even
        create a bridge if the channel CDR has POST_DISABLED.
        I didn't check for that at the end of the bridge.
        Fixed with a few small insertions. Tested. Looks
        good. No cdr generated, no crash, no unnecc. data
        objects created either.

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=158483

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 158483 U branches/1.4/res/res_features.c ------------------------------------------------------------------------ r158483 | murf | 2008-11-21 15:19:42 -0600 (Fri, 21 Nov 2008) | 11 lines (closes issue ASTERISK-13045 ) Reported by: mdu113 This one is totally my fault. The code doesn't even create a bridge if the channel CDR has POST_DISABLED. I didn't check for that at the end of the bridge. Fixed with a few small insertions. Tested. Looks good. No cdr generated, no crash, no unnecc. data objects created either. ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=158483

          People

          • Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development