[asterisk-bugs] [Asterisk 0013640]: Crash in cdr code in specific one-touch parking scenario
Asterisk Bug Tracker
noreply at bugs.digium.com
Thu Oct 23 16:07:50 CDT 2008
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=13640
======================================================================
Reported By: mdu113
Assigned To: murf
======================================================================
Project: Asterisk
Issue ID: 13640
Category: CDR/General
Reproducibility: always
Severity: crash
Priority: normal
Status: assigned
Asterisk Version: SVN
SVN Branch (only for SVN checkouts, not tarball releases): 1.4
SVN Revision (number only!): 147193
Disclaimer on File?: N/A
Request Review:
======================================================================
Date Submitted: 2008-10-07 12:34 CDT
Last Modified: 2008-10-23 16:07 CDT
======================================================================
Summary: Crash in cdr code in specific one-touch parking
scenario
Description:
Asterisk crashes in cdr code in ast_bridge_call() in the following
one-touch parking scenario: A calls B, B answers, A dials feature code to
park B. Asterisk plays MOH to B and parking announcement to A. Now if B
hangs up during parking announcement is being played to the A then asterisk
crashes immediately after it ends playing parking announcement to A.
I'm attaching backtrace in bt.txt
======================================================================
----------------------------------------------------------------------
(0094216) murf (administrator) - 2008-10-23 16:07
http://bugs.digium.com/view.php?id=13640#c94216
----------------------------------------------------------------------
OK, I've tested and reviewed the code once more. The KEEPALIVES after the
ast_bridge_call in both app_dial and app_queue are in place.
Major weaknesses in the code are that when a park is performed, you most
likely will not get the hangup extension, and some channel variables will
not
be updated.
the planc3 stuff has been tested on a symmetric test set:
1. A calls B; B answers; A parks B; B hangs up while A is getting the
parking
slot announcement, immediately after being put on hold.
2. A calls B; B answers; A parks B; B hangs up after A has been hung up,
but
before the park times out.
3. A calls B; B answers; B parks A; A hangs up while B is getting the
parking slot announcement, immediately after being put on hold.
4. A calls B; B answers; B parks A; A hangs up after B has been hung up,
but before the park times out.
If you can survive all 4 of these scenarios, then parking is solid.
Then, I ran all 4 scenarios under valgrind, and had a problem with
the pbx thread not dying fast enough, and got some memory violations
when the pbx thread kept running on a freed channel...
Issue History
Date Modified Username Field Change
======================================================================
2008-10-23 16:07 murf Note Added: 0094216
======================================================================
More information about the asterisk-bugs
mailing list