[asterisk-bugs] [JIRA] (ASTERISK-27707) Segfault after hanging up a queue call where Bridge() was used
Joshua Colp (JIRA)
noreply at issues.asterisk.org
Thu Mar 1 07:39:13 CST 2018
[ https://issues.asterisk.org/jira/browse/ASTERISK-27707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joshua Colp closed ASTERISK-27707.
----------------------------------
Resolution: Duplicate
> Segfault after hanging up a queue call where Bridge() was used
> --------------------------------------------------------------
>
> Key: ASTERISK-27707
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27707
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Applications/app_queue
> Affects Versions: 15.2.1
> Reporter: lvl
> Attachments: bt full.txt
>
>
> Steps to reproduce:
> 1. Call into a queue
> 2. Have the queue dial an agent
> 3. Use AMI Redirect() + Bridge() to transfer the agent's channel elsewhere
> 4. Hangup the call
> Around 30% of the time, Asterisk segfaults on https://github.com/asterisk/asterisk/blob/15.2/apps/app_queue.c#L6364 because caller_snapshot is NULL.
> {quote}
> #0 0x00007f9dbcab5cb3 in handle_hangup (userdata=0x7f9dd4002078, sub=0x7f9dd4018378, msg=0x7f9dfc0302b8) at app_queue.c:6364
> queue_data = 0x7f9dd4002078
> channel_blob = 0x7f9dfc02f088
> caller_snapshot = 0x0
> member_snapshot = 0x7f9df4003760
> chan = 0x0
> reason = CALLER
> (gdb) print *queue_data
> $2 = {
> __field_mgr_pool = 0x7f9dd4002140,
> caller_uniqueid = 0x7f9dd4002162 "acme01-1519904274.78",
> member_uniqueid = 0x7f9dd400217c "acme01-1519904274.79",
> bridge_uniqueid = 0x7f9dd4002196 "b72d5911-db0a-413c-b4a8-0b9549f4ca8c",
> {quote}
> Apparently, the member channel is sometimes already cleared from the Stasis cache by the time we reach ast_queue_log.
> I suggest to at least add an ast_assert and/or null check for caller_snapshot & member_snapshot.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list