[Home]

Summary:ASTERISK-06351: [patch] app_meetme crashes Asterisk in rare/odd scenario where first caller hangs up during pin request.
Reporter:Chris Hozian (chozian)Labels:
Date Opened:2006-02-17 09:53:22.000-0600Date Closed:2006-03-13 07:57:06.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Applications/app_meetme
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) gdb.txt
( 1) meetmepatch.diff
( 2) meetmepatch2.diff
( 3) meetmepatch3.diff
Description:I will explain below the exact scenario which causes Asterisk to crash.  This is a very odd and rare scenario that causes Asterisk to crash.  I have tried various other combinations which did not result in Asterisk crashing.  This did not appear to matter which phone initiated the first call to the conference room.  The conference room extension is 5555.

Here is the scenario used to generate my backtrace.  Phone A calls extension 5555 for the conference room.  Phone A hears the request to enter a pin.  Phone B calls extension 5555 for the conference room before Phone A enters the pin.  Phone B hears the request to enter a pin.  Phone A hangs up before entering the pin.  Phone B hangs up shortly after Phone A hung up, but before entering a pin.  Then Asterisk crashes with a coredump.

Here is another scenario which causes undesired behavior in Asterisk, but not a crash.  Phone A calls extension 5555 for the conference room.  Phone A hears the request to enter a pin.  Phone B calls extension 5555 for the conference room before Phone A enters the pin.  Phone B hears the request to enter a pin.  Phone A hangs up before entering the pin.  The following negative effects will occur.  Phone B cannot enter the conference room because now even the correct pin will report back as incorrect OR Phone B will have dead air after entering the correct pin followed by a large number of "Dropping voice to exceptionally long queue on..." messages on the Asterisk CLI.  Asterisk begins to function properly after Phone B hangs up the line.


****** ADDITIONAL INFORMATION ******

Please let me know if you require any additional configuration files.  I have attached the gdb output with bt and bt full.

Asterisk CLI Output:

 == Parsing '/etc/asterisk/asterisk.conf': Found
 == Parsing '/etc/asterisk/extconfig.conf': Found
 == Binding extensions to odbc/mysql1/extensions_table
Asterisk SVN-trunk-r10392M, Copyright (C) 1999 - 2006 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'show license' for details.
=========================================================================
Connected to Asterisk SVN-trunk-r10392M currently running on trance (pid = 9113)
trance*CLI> Verbosity is at least 3
[trance*CLI> sip debug cor^Gt^Ger^H[^Gl^H[^H[^H[^H[^H[^H[peer cortelco274701
trance*CLI> SIP Debugging Enabled for IP: 192.168.254.5:5060
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:
INVITE sip:5555@trance.internal:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKad2ee1153c70741155f01d84dca61aa6
From: "cortelco274701"<sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: "5555"<sip:5555@trance.internal:5060>
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 1 INVITE
Contact: <sip:cortelco274701@192.168.254.5:5060>
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 276

v=0
o=- 2931 2931 IN IP4 192.168.254.5
s=SIP Session
c=IN IP4 192.168.254.5
t=0 0
m=audio 10004 RTP/AVP 18 0 8 4 101
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=ptime:40
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

--- (10 headers 13 lines)---
Using INVITE request as basis request - 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
Sending to 192.168.254.5 : 5060 (NAT)
Reliably Transmitting (no NAT) to 192.168.254.5:5060:
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKad2ee1153c70741155f01d84dca61aa6;received=192.168.254.5
From: "cortelco274701"<sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: "5555"<sip:5555@trance.internal:5060>;tag=as39ec8fa0
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 1 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:5555@192.168.254.1>
Proxy-Authenticate: Digest realm="asterisk", nonce="00f7a28b"
Content-Length: 0


---
Scheduling destruction of SIP dialog '584654ca3e2e066a33edcb670ccc8097@192.168.254.5' in 32000 ms (Method: INVITE)
Found user 'cortelco274701'
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:
ACK sip:5555@trance.internal:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKad2ee1153c70741155f01d84dca61aa6
From: "cortelco274701"<sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: "5555"<sip:5555@trance.internal:5060>;tag=as39ec8fa0
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 1 ACK
Max-Forwards: 70
Content-Length: 0


--- (8 headers 0 lines)---
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:
INVITE sip:5555@trance.internal:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKe2b1b9c7dfe5c28dd586dc7cc16a61bd
From: "cortelco274701"<sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: "5555"<sip:5555@trance.internal:5060>
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 2 INVITE
Contact: <sip:cortelco274701@192.168.254.5:5060>
Max-Forwards: 70
Proxy-Authorization: Digest nonce="00f7a28b",realm="asterisk",response="962c68f8a92fd92444d18f8d56bd7462",uri="sip:5555@trance.internal:5060",username="cortelco274701"
Content-Type: application/sdp
Content-Length: 276

v=0
o=- 2931 2931 IN IP4 192.168.254.5
s=SIP Session
c=IN IP4 192.168.254.5
t=0 0
m=audio 10004 RTP/AVP 18 0 8 4 101
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=ptime:40
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

--- (11 headers 13 lines)---
Using INVITE request as basis request - 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
Sending to 192.168.254.5 : 5060 (NAT)
Found user 'cortelco274701'
Found RTP audio format 18
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 4
Found RTP audio format 101
Peer audio RTP is at port 192.168.254.5:10004
Found description format G729
Found description format PCMU
Found description format PCMA
Found description format G723
Found description format telephone-event
Capabilities: us - 0x100 (g729), peer - audio=0x10d (g723|ulaw|alaw|g729)/video=0x0 (nothing), combined - 0x100 (g729)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Looking for 5555 in from-internal (domain trance.internal)
[trance*CLI> Feb 17 10:21:28 DEBUG[9134]: chan_sip.c:6177 build_route: build_route: Contact hop: <sip:cortelco274701@192.168.254.5:5060>
list_route: hop: <sip:cortelco274701@192.168.254.5:5060>
Transmitting (no NAT) to 192.168.254.5:5060:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKe2b1b9c7dfe5c28dd586dc7cc16a61bd;received=192.168.254.5
From: "cortelco274701"<sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: "5555"<sip:5555@trance.internal:5060>
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:5555@192.168.254.1>
Content-Length: 0


---
[trance*CLI>     -- Executing Set("SIP/cortelco274701-d3cd", "MEETME_RECORDINGFILE=/var/spool/asterisk/monitor/meetme-conf-rec-") in new stack
[trance*CLI>     -- Executing Set("SIP/cortelco274701-d3cd", "MEETME_RECORDINGFORMAT=wav49") in new stack
[trance*CLI>     -- Executing Playback("SIP/cortelco274701-d3cd", "conf-peopleinconf") in new stack
[trance*CLI> Feb 17 10:21:28 DEBUG[9122]: channel.c:856 channel_find_locked: Avoiding initial deadlock for 'SIP/cortelco274701-d3cd'
[trance*CLI> We're at 192.168.254.1 port 15252
[trance*CLI> Adding codec 0x100 (g729) to SDP
[trance*CLI> Adding non-codec 0x1 (telephone-event) to SDP
[trance*CLI> Reliably Transmitting (no NAT) to 192.168.254.5:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKe2b1b9c7dfe5c28dd586dc7cc16a61bd;received=192.168.254.5
From: "cortelco274701"<sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: "5555"<sip:5555@trance.internal:5060>;tag=as5c4ca796
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:5555@192.168.254.1>
Content-Type: application/sdp
Content-Length: 239

v=0
o=root 9113 9113 IN IP4 192.168.254.1
s=session
c=IN IP4 192.168.254.1
t=0 0
m=audio 15252 RTP/AVP 18 101
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -

---
[trance*CLI> Feb 17 10:21:28 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 160 sample intervals
[trance*CLI>     -- Playing 'conf-peopleinconf' (language 'en')
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:
ACK sip:5555@192.168.254.1 SIP/2.0
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bK96ad35aaf5d2947c36d18e72876cf523
From: <sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: <sip:5555@trance.internal:5060>;tag=as5c4ca796
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 2 ACK
Contact: <sip:cortelco274701@192.168.254.5:5060>
Max-Forwards: 70
Content-Length: 0


--- (9 headers 0 lines)---
[trance*CLI> Feb 17 10:21:30 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
Feb 17 10:21:30 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
[trance*CLI>     -- Executing MeetMeCount("SIP/cortelco274701-d3cd", "5555") in new stack
 == Parsing '/etc/asterisk/meetme.conf': Found
Feb 17 10:21:30 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 160 sample intervals
   -- Playing 'digits/0' (language 'en')
[trance*CLI> Feb 17 10:21:30 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
Feb 17 10:21:30 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
[trance*CLI>     -- Executing MeetMe("SIP/cortelco274701-d3cd", "5555|Mripcs") in new stack
 == Parsing '/etc/asterisk/meetme.conf': Found
   -- Created MeetMe conference 1023 for conference '5555'
Feb 17 10:21:30 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 160 sample intervals
   -- Playing 'conf-getpin' (language 'en')
[trance*CLI>     -- Accepted AUTHENTICATED TBD call from 192.168.254.4
[trance*CLI> Feb 17 10:21:32 DEBUG[9130]: chan_iax2.c:7123 socket_read: Peer lastms 3, historicms 3, maxms 2000
[trance*CLI> Feb 17 10:21:32 DEBUG[9130]: chan_iax2.c:7123 socket_read: Peer lastms 51, historicms 51, maxms 2000
[trance*CLI> 12 headers, 0 lines
Reliably Transmitting (no NAT) to 192.168.254.5:5060:
OPTIONS sip:cortelco274701@192.168.254.5:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.254.1:5060;branch=z9hG4bK4b734f56;rport
From: "asterisk" <sip:asterisk@192.168.254.1>;tag=as47167026
To: <sip:cortelco274701@192.168.254.5:5060>
Contact: <sip:asterisk@192.168.254.1>
Call-ID: 35e336c46749baf53f0b36f9492e3b8d@192.168.254.1
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Fri, 17 Feb 2006 16:21:32 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Length: 0


---
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP 192.168.254.1:5060;rport;branch=z9hG4bK4b734f56
From: "asterisk"<sip:asterisk@192.168.254.1>;tag=as47167026
To: <sip:cortelco274701@192.168.254.5:5060>;tag=22fc4185
Call-ID: 35e336c46749baf53f0b36f9492e3b8d@192.168.254.1
CSeq: 102 OPTIONS
Content-Type: application/sdp
Content-Length: 208

v=0
o=- 2936 2936 IN IP4 192.168.254.5
s=SIP Session
c=IN IP4 192.168.254.5
t=0 0
m=audio 10006 RTP/AVP 18 0 8 4
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000

--- (8 headers 10 lines)---
Really destroying SIP dialog '35e336c46749baf53f0b36f9492e3b8d@192.168.254.1' Method: OPTIONS
[trance*CLI> Feb 17 10:21:33 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
Feb 17 10:21:33 DEBUG[9168]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
[trance*CLI>     -- Accepting DIAL from 192.168.254.4, formats = 0x4
[trance*CLI>     -- Executing Set("IAX2/iaxys101i-19", "MEETME_RECORDINGFILE=/var/spool/asterisk/monitor/meetme-conf-rec-") in new stack
[trance*CLI>     -- Executing Set("IAX2/iaxys101i-19", "MEETME_RECORDINGFORMAT=wav49") in new stack
[trance*CLI>     -- Executing Playback("IAX2/iaxys101i-19", "conf-peopleinconf") in new stack
[trance*CLI> Feb 17 10:21:34 DEBUG[9122]: channel.c:856 channel_find_locked: Avoiding initial deadlock for 'IAX2/iaxys101i-19'
[trance*CLI> Feb 17 10:21:34 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 160 sample intervals
[trance*CLI>     -- Playing 'conf-peopleinconf' (language 'en')
[trance*CLI> Feb 17 10:21:34 DEBUG[9130]: chan_iax2.c:6652 socket_read: Ooh, voice format changed to 4
[trance*CLI> Feb 17 10:21:36 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
Feb 17 10:21:36 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
[trance*CLI>     -- Executing MeetMeCount("IAX2/iaxys101i-19", "5555") in new stack
Feb 17 10:21:36 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 160 sample intervals
   -- Playing 'digits/0' (language 'en')
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:


[trance*CLI> --- (0 headers 0 lines) Nat keepalive ---
[trance*CLI> Feb 17 10:21:37 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
Feb 17 10:21:37 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
[trance*CLI>     -- Executing MeetMe("IAX2/iaxys101i-19", "5555|Mripcs") in new stack
[trance*CLI> Feb 17 10:21:37 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 160 sample intervals
[trance*CLI>     -- Playing 'conf-getpin' (language 'en')
[trance*CLI>
<-- SIP read from 192.168.254.5:5060:
BYE sip:5555@192.168.254.1 SIP/2.0
Via: SIP/2.0/UDP 192.168.254.5:5060;rport;branch=z9hG4bKe7dfef28ea644222bb3109b008d7e72e
From: <sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: <sip:5555@trance.internal:5060>;tag=as5c4ca796
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 3 BYE
Max-Forwards: 70
Content-Length: 0


--- (8 headers 0 lines)---
Sending to 192.168.254.5 : 5060 (NAT)
Transmitting (NAT) to 192.168.254.5:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.254.5:5060;branch=z9hG4bKe7dfef28ea644222bb3109b008d7e72e;received=192.168.254.5;rport=5060
From: <sip:cortelco274701@192.168.254.1:5060>;tag=473787fc
To: <sip:5555@trance.internal:5060>;tag=as5c4ca796
Call-ID: 584654ca3e2e066a33edcb670ccc8097@192.168.254.5
CSeq: 3 BYE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Contact: <sip:5555@192.168.254.1>
Content-Length: 0


---
Feb 17 10:21:38 DEBUG[9168]: chan_zap.c:2417 zt_hangup: Hangup: channel: -2 index = 0, normal = 51, callwait = -1, thirdcall = -1
Feb 17 10:21:38 DEBUG[9168]: chan_zap.c:2860 zt_setoption: Set option TDD MODE, value: OFF(0) on Zap/pseudo-471571684
Feb 17 10:21:38 DEBUG[9168]: chan_zap.c:1395 update_conf: Updated conferencing on -2, with 0 conference users
   -- Hungup 'Zap/pseudo-471571684'
Feb 17 10:21:38 DEBUG[9168]: chan_zap.c:2417 zt_hangup: Hangup: channel: -2 index = 0, normal = 49, callwait = -1, thirdcall = -1
Feb 17 10:21:38 DEBUG[9168]: chan_zap.c:2860 zt_setoption: Set option TDD MODE, value: OFF(0) on Zap/pseudo-578008857
Feb 17 10:21:38 DEBUG[9168]: chan_zap.c:1395 update_conf: Updated conferencing on -2, with 0 conference users
   -- Hungup 'Zap/pseudo-578008857'
 == Spawn extension (from-internal, 5555, 5) exited non-zero on 'SIP/cortelco274701-d3cd'
[trance*CLI> Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '"Cortelco 274701" <3025>'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '3025'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '5555'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is 'from-internal'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is 'SIP/cortelco274701-d3cd'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is ''
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is 'MeetMe'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '5555|Mripcs'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '2006-02-17 10:21:28'
[trance*CLI> Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '2006-02-17 10:21:28'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '2006-02-17 10:21:38'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '10'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '10'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is 'ANSWERED'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is 'DOCUMENTATION'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is ''
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is '1140193288.0'
Feb 17 10:21:38 DEBUG[9168]: pbx.c:1377 pbx_substitute_variables_helper_full: Function result is ''
[trance*CLI> Really destroying SIP dialog '584654ca3e2e066a33edcb670ccc8097@192.168.254.5' Method: BYE
[trance*CLI> Feb 17 10:21:39 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
Feb 17 10:21:39 DEBUG[9174]: channel.c:1698 ast_settimeout: Scheduling timer at 0 sample intervals
[trance*CLI> Executing last minute cleanups
Comments:By: David James (davidj) 2006-02-25 19:56:25.000-0600

Interesting. I'm not a developer here but I'd like to help if I can

The first line in the backtrace has a macro.  I understand gcc has a debugging option for macros.  You can turn this on in the makefile. Can you try that and repost the backtrace? I am pretty sure this is done with "gcc -g -g3"

Also, it looks like some of the variables in your backtrace were optimized out.
Can you make sure that your core file was created with the "make dont-optimize"?

Do you know if you reproduce this problem with Zap hardware?

Just to make sure everything passes the acid test, can you post the revelent area of the dialplan that dials this? (Why do I see the parkedcall app in your bt?)

By: Moqtadir Mohammed (imran) 2006-02-26 14:11:33.000-0600

chozian: I think I have found the problem, I have added a reference count to the conference structure so that it will not be deleted when in use by other threads. Can you please test this patch?

Thanks

By: Chris Hozian (chozian) 2006-02-27 09:06:30.000-0600

Great!  The meetmepatch2.diff resolved the problems!  Thanks much! :)

By: Mark Spencer (markster) 2006-02-27 12:48:54.000-0600

Perhaps it's time to confert meetme's to ast_obj's since we already have a structure for this.

By: Tilghman Lesher (tilghman) 2006-03-11 10:15:47.000-0600

imran:  this patch no longer cleanly applies.  Could you please update it?

By: Moqtadir Mohammed (imran) 2006-03-11 23:34:15.000-0600

Patch updated.
As mark said and I agree with, is that the ASTOBJ api must be used to manage conference reference counts.
But it would be easier and more race safe if:
a)we had an ASTOBJ call like UNREF_ASTOBJ_AND_DELETE_FROM_CONTAINER_IF_NO_MORE_REFERENCES(container, obj, destructor)
I could update the meetme to use ASTOBJ but I think it will still leave out some race conditions.

By: Tilghman Lesher (tilghman) 2006-03-13 07:57:06.000-0600

Committed to trunk.