[asterisk-bugs] [JIRA] (ASTERISK-27234) Crash on hangup
Richard Kenner (JIRA)
noreply at issues.asterisk.org
Fri Sep 1 16:35:08 CDT 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-27234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard Kenner updated ASTERISK-27234:
--------------------------------------
Description:
I'm testing video in conferences and have a Polycom Trio at one endpoint and two desktops running Linphone as two other endpoints. I have a crash due to a memory free problem at ast_free(ast_channel_tech_pvt(chan));
The full traceback is in the attached file traceback.txt and the channel contents are in channel.txt.
was:
I'm testing video in conferences and have a Polycom Trio at one endpoint and two desktops running Linphone as two other endpoints. I have a crash due to a memory free problem at ast_free(ast_channel_tech_pvt(chan));
The full traceback is:
#0 0x00007fad156f51d7 in raise () from /lib64/libc.so.6
#1 0x00007fad156f68c8 in abort () from /lib64/libc.so.6
#2 0x00007fad15734f07 in __libc_message () from /lib64/libc.so.6
#3 0x00007fad1573c503 in _int_free () from /lib64/libc.so.6
#4 0x00000000004b2516 in ast_channel_destructor (obj=0x7fac9001ef38)
at channel.c:2283
#5 0x000000000045c5ec in __ao2_ref (user_data=0x7fac9001ef38,
delta=delta at entry=-1, tag=tag at entry=0x61b53e "",
file=file at entry=0x625286 "channel.c", line=line at entry=2706,
func=func at entry=0x634945 <__PRETTY_FUNCTION__.20322> "ast_hangup")
at astobj2.c:569
#6 0x000000000045e924 in __container_unlink_node_debug (
func=0x634945 <__PRETTY_FUNCTION__.20322> "ast_hangup", line=2706,
file=0x625286 "channel.c", tag=0x61b53e "", flags=<optimized out>,
node=0x7fac90020b50) at astobj2_container.c:52
#7 internal_ao2_traverse (self=self at entry=0x2359ad8, flags=35,
cb_fn=cb_fn at entry=0x45dd80 <ao2_match_by_addr>,
arg=arg at entry=0x7fac9001ef38, tag=tag at entry=0x61b53e "",
file=file at entry=0x625286 "channel.c", line=line at entry=2706,
func=func at entry=0x634945 <__PRETTY_FUNCTION__.20322> "ast_hangup",
type=AO2_CALLBACK_DEFAULT, data=0x0) at astobj2_container.c:377
#8 0x000000000045ecef in __ao2_callback (
func=0x634945 <__PRETTY_FUNCTION__.20322> "ast_hangup", line=2706,
---Type <return> to continue, or q <return> to quit---
file=0x625286 "channel.c", tag=0x61b53e "", arg=0x7fac9001ef38,
cb_fn=0x45dd80 <ao2_match_by_addr>, flags=<optimized out>, c=0x2359ad8)
at astobj2_container.c:416
#9 __ao2_unlink (c=0x2359ad8, user_data=user_data at entry=0x7fac9001ef38,
flags=<optimized out>, flags at entry=0, tag=tag at entry=0x61b53e "",
file=file at entry=0x625286 "channel.c", line=line at entry=2706,
func=func at entry=0x634945 <__PRETTY_FUNCTION__.20322> "ast_hangup")
at astobj2_container.c:187
#10 0x00000000004b37b3 in ast_hangup (chan=chan at entry=0x7fac9001ef38)
at channel.c:2706
#11 0x000000000058017f in __ast_pbx_run (c=c at entry=0x7fac9001ef38,
args=args at entry=0x0) at pbx.c:4558
#12 0x0000000000580e23 in pbx_thread (data=data at entry=0x7fac9001ef38)
at pbx.c:4650
#13 0x00000000005f917a in dummy_start (data=<optimized out>) at utils.c:1233
#14 0x00007fad164f7dc5 in start_thread () from /lib64/libpthread.so.0
#15 0x00007fad157b776d in clone () from /lib64/libc.so.6
And the channel looks like:
(gdb) print *chan
$1 = {tech = 0x7faca1399240 <sip_tech>, tech_pvt = 0x7fac90017498,
music_state = 0x0, generatordata = 0x0, generator = 0x0, masq = 0x0,
masqr = 0x0,
blockproc = 0x6348c0 <__PRETTY_FUNCTION__.20491> "ast_waitfor_nandfds",
appl = 0x0, data = 0x0, sched = 0x7fac9001e3f0, stream = 0x0,
vstream = 0x0, timingfunc = 0x0, timingdata = 0x0, pbx = 0x0,
writetrans = 0x0, readtrans = 0x0, audiohooks = 0x7facc4000e90,
framehooks = 0x7facc4002a80, cdr = 0x0, zone = 0x0, monitor = 0x0,
callid = 0, dialed_causes = 0x7fac9001fad8,
__field_mgr_pool = 0x7fac9001e4c0,
name = 0x7fac9001e4e2 "SIP/4225-00000001", language = 0x7fac9001e4f6 "en",
musicclass = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
latest_musicclass = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
accountcode = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
peeraccount = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
userfield = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
call_forward = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
parkinglot = 0x7fac9001e4fc "default",
hangupsource = 0x7fac9001e506 "SIP/4225-00000001",
dialcontext = 0x8ed732 <__ast_string_field_empty_buffer+2> "",
__field_mgr = {last_alloc = 0x7fac9001e506 "SIP/4225-00000001",
embedded_pool = 0x0, string_fields = {elems = 0x7fac9001eb70, max = 11,
current = 11}}, uniqueid = {creation_time = 1504129197,
---Type <return> to continue, or q <return> to quit---
creation_unique = 3,
unique_id = "1504129197.3", '\000' <repeats 139 times>}, linkedid = {
creation_time = 1504129197, creation_unique = 3,
unique_id = "1504129197.3", '\000' <repeats 139 times>}, whentohangup = {
tv_sec = 0, tv_usec = 0}, blocker = 140381338859264, dialed = {number = {
str = 0x7fac9001e6a0 "206", plan = 0}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
transit_network_select = 0}, caller = {id = {name = {
str = 0x7fac9001ebd0 "Mike Cleaves", char_set = 1, presentation = 0,
valid = 1 '\001'}, number = {str = 0x7fac9001e210 "4225", plan = 0,
presentation = 0, valid = 1 '\001'}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
tag = 0x7fac90005fc0 ""}, ani = {name = {str = 0x0, char_set = 1,
presentation = 0, valid = 0 '\000'}, number = {
str = 0x7fac90002b30 "4225", plan = 0, presentation = 0,
valid = 1 '\001'}, subaddress = {str = 0x0, type = 0,
odd_even_indicator = 0 '\000', valid = 0 '\000'}, tag = 0x0}, priv = {
name = {str = 0x0, char_set = 1, presentation = 0, valid = 0 '\000'},
number = {str = 0x0, plan = 0, presentation = 0, valid = 0 '\000'},
subaddress = {str = 0x0, type = 0, odd_even_indicator = 0 '\000',
valid = 0 '\000'}, tag = 0x0}, ani2 = 0}, connected = {id = {name = {
str = 0x0, char_set = 1, presentation = 0, valid = 0 '\000'},
number = {str = 0x0, plan = 0, presentation = 0, valid = 0 '\000'},
---Type <return> to continue, or q <return> to quit---
subaddress = {str = 0x0, type = 0, odd_even_indicator = 0 '\000',
valid = 0 '\000'}, tag = 0x0}, ani = {name = {str = 0x0,
char_set = 1, presentation = 0, valid = 0 '\000'}, number = {
str = 0x0, plan = 0, presentation = 0, valid = 0 '\000'},
subaddress = {str = 0x0, type = 0, odd_even_indicator = 0 '\000',
valid = 0 '\000'}, tag = 0x0}, priv = {name = {str = 0x0,
char_set = 1, presentation = 0, valid = 0 '\000'}, number = {
str = 0x0, plan = 0, presentation = 0, valid = 0 '\000'},
subaddress = {str = 0x0, type = 0, odd_even_indicator = 0 '\000',
valid = 0 '\000'}, tag = 0x0}, ani2 = 0, source = 0},
connected_indicated = {id = {name = {str = 0x0, char_set = 1,
presentation = 0, valid = 0 '\000'}, number = {str = 0x0, plan = 0,
presentation = 0, valid = 0 '\000'}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
tag = 0x0}, ani = {name = {str = 0x0, char_set = 1, presentation = 0,
valid = 0 '\000'}, number = {str = 0x0, plan = 0, presentation = 0,
valid = 0 '\000'}, subaddress = {str = 0x0, type = 0,
odd_even_indicator = 0 '\000', valid = 0 '\000'}, tag = 0x0}, priv = {
name = {str = 0x0, char_set = 1, presentation = 0, valid = 0 '\000'},
number = {str = 0x0, plan = 0, presentation = 0, valid = 0 '\000'},
subaddress = {str = 0x0, type = 0, odd_even_indicator = 0 '\000',
valid = 0 '\000'}, tag = 0x0}, ani2 = 0, source = 0}, redirecting = {
orig = {name = {str = 0x0, char_set = 1, presentation = 0,
---Type <return> to continue, or q <return> to quit---
valid = 0 '\000'}, number = {str = 0x0, plan = 0, presentation = 0,
valid = 0 '\000'}, subaddress = {str = 0x0, type = 0,
odd_even_indicator = 0 '\000', valid = 0 '\000'}, tag = 0x0}, from = {
name = {str = 0x0, char_set = 1, presentation = 0, valid = 0 '\000'},
number = {str = 0x0, plan = 0, presentation = 0, valid = 0 '\000'},
subaddress = {str = 0x0, type = 0, odd_even_indicator = 0 '\000',
valid = 0 '\000'}, tag = 0x0}, to = {name = {str = 0x0, char_set = 1,
presentation = 0, valid = 0 '\000'}, number = {str = 0x0, plan = 0,
presentation = 0, valid = 0 '\000'}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
tag = 0x0}, priv_orig = {name = {str = 0x0, char_set = 1,
presentation = 0, valid = 0 '\000'}, number = {str = 0x0, plan = 0,
presentation = 0, valid = 0 '\000'}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
tag = 0x0}, priv_from = {name = {str = 0x0, char_set = 1,
presentation = 0, valid = 0 '\000'}, number = {str = 0x0, plan = 0,
presentation = 0, valid = 0 '\000'}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
tag = 0x0}, priv_to = {name = {str = 0x0, char_set = 1,
presentation = 0, valid = 0 '\000'}, number = {str = 0x0, plan = 0,
presentation = 0, valid = 0 '\000'}, subaddress = {str = 0x0,
type = 0, odd_even_indicator = 0 '\000', valid = 0 '\000'},
tag = 0x0}, reason = {str = 0x0, code = 0}, orig_reason = {str = 0x0,
---Type <return> to continue, or q <return> to quit---
code = 0}, count = 0}, dtmff = {frametype = 0, subclass = {integer = 0,
format = 0x0, frame_ending = 0}, datalen = 0, samples = 0, mallocd = 0,
mallocd_hdr_len = 0, offset = 0, src = 0x0, data = {ptr = 0x0,
uint32 = 0, pad = "\000\000\000\000\000\000\000"}, delivery = {
tv_sec = 0, tv_usec = 0}, frame_list = {next = 0x0}, flags = 0, ts = 0,
len = 0, seqno = 0}, varshead = {first = 0x7facc4005550,
last = 0x7fac9001e320}, callgroup = 0, pickupgroup = 0,
named_callgroups = 0x0, named_pickupgroups = 0x0, creationtime = {
tv_sec = 1504129197, tv_usec = 784376}, answertime = {
tv_sec = 1504129198, tv_usec = 343165}, readq = {first = 0x7facc4003ad0,
last = 0x7fac904b0c60}, jb = {conf = {flags = 0, max_size = 200,
resync_threshold = 1000, impl = "fixed\000\000\000\000\000\000",
target_extra = 40}, impl = 0x0, jbobj = 0x0, timebase = {tv_sec = 0,
tv_usec = 0}, next = 0, last_format = 0x0, logfile = 0x0, flags = 0},
dtmf_tv = {tv_sec = 0, tv_usec = 0}, hangup_handlers = {first = 0x0,
last = 0x0}, datastores = {first = 0x0, last = 0x0}, autochans = {
first = 0x0, last = 0x0}, insmpl = 0, outsmpl = 0, fds = {41, 44, 42, 43,
-1, -1, 47, -1, -1, 45, 46}, softhangup = 145, fdno = -1, streamid = -1,
vstreamid = -1, oldwriteformat = 0x7fac9001e380, timingfd = 45,
state = AST_STATE_UP, rings = 0, priority = 2, macropriority = 0,
amaflags = 3, adsicpe = AST_ADSI_UNAVAILABLE, fin = 826181, fout = 653358,
hangupcause = 16, finalized = 1, flags = {flags = 16777232}, alertpipe = {
46, 46}, nativeformats = 0x7fac9001e950, readformat = 0x7facc40104b0,
---Type <return> to continue, or q <return> to quit---
writeformat = 0x7facc4054160, rawreadformat = 0x7facc40104b0,
rawwriteformat = 0x7facc4054160, emulate_dtmf_duration = 0,
visible_indication = 0, hold_state = 17, transfercapability = 0,
bridge = 0x0, bridge_channel = 0x0, timer = 0x7fac9001e230,
context = "Conferences", '\000' <repeats 68 times>,
exten = "h\000\066\000\060\066\060-20\000\066", '\000' <repeats 67 times>,
macrocontext = '\000' <repeats 79 times>,
macroexten = '\000' <repeats 79 times>, unbridged = 0 '\000',
is_t38_active = 0 '\000', dtmf_digit_to_emulate = 0 '\000',
sending_dtmf_digit = 0 '\000', sending_dtmf_tv = {tv_sec = 0, tv_usec = 0},
topics = 0x7fac90016978, endpoint_forward = 0x7fac90020bb0,
endpoint_cache_forward = 0x7fac90020cb0}
> Crash on hangup
> ---------------
>
> Key: ASTERISK-27234
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27234
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/Channels
> Affects Versions: 14.6.0
> Environment: Centos 7
> Reporter: Richard Kenner
> Assignee: Richard Kenner
>
> I'm testing video in conferences and have a Polycom Trio at one endpoint and two desktops running Linphone as two other endpoints. I have a crash due to a memory free problem at ast_free(ast_channel_tech_pvt(chan));
> The full traceback is in the attached file traceback.txt and the channel contents are in channel.txt.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list