Summary:ASTERISK-08926: Crash while picking up a parked call
Reporter:Jeremy Apple (japple)Labels:
Date Opened:2007-03-02 14:13:10.000-0600Date Closed:2007-06-19 08:04:03
Versions:Frequency of
Environment:Attachments:( 0) backtrace-57553-nooptimize.txt
( 1) backtrace-57553-nooptimize-core.txt
( 2) verbosedebug.txt
Description:1. Using snom320, call 700
2. Put call on hold
3. Second line dial 701 to pickup call
3a. Asterisk console readout, below
3b. backtrace-57553.txt
4. Hang up call
4a. Asterisk console readout, below
4b. backtrace-57553-core.txt

   -- Executing Park("SIP/1000-081c6d48", "") in new stack
 == Parked SIP/1000-081c6d48 on 701. Will timeout back to extension [local] s, 1 in 45 seconds
   -- Added extension '701' priority 1 to parkedcalls
   -- Playing 'digits/7' (language 'en')
   -- Executing ParkedCall("SIP/1000-081da360", "701") in new stack
   -- Channel SIP/1000-081da360 connected to parked call 701
Mar  2 13:39:15 WARNING[3431]: channel.c:1608 ast_waitfor_nandfds: Thread -1225688160 Blocking 'SIP/1000-081c6d48', already blocked by thread -1225421920 in procedure ast_waitfor_nandfds

120*CLI> show channels
Channel              Location             State   Application(Data)            
SIP/1000-081da360    701@local:1          Up      ParkedCall(701)              
SIP/1000-081c6d48    s@local:1            Up      Bridged Call(SIP/1000-081da360
2 active channels
2 active calls
Mar  2 13:41:08 WARNING[3418]: channel.c:1608 ast_waitfor_nandfds: Thread -1225421920 Blocking 'SIP/1000-081c6d48', already blocked by thread -1225421920 in procedure ast_waitfor_nandfds
Mar  2 13:41:12 WARNING[3431]: channel.c:933 ast_channel_free: PBX may not have been terminated properly on 'SIP/1000-081c6d48'
 == Spawn extension (local, 701, 1) exited non-zero on 'SIP/1000-081da360'
Disconnected from Asterisk server
Attempting to reconnect for 30 seconds
/usr/sbin/safe_asterisk: line 111:  2694 Segmentation fault      (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY}
Asterisk ended with exit status 139
Asterisk exited on signal 11.
Automatically restarting Asterisk.



parkext => 700
parkpos => 701-720
context => parkedcalls

Snom 320:
    Kernel Version:        snom320 linux 3.25
    Application-Version: snom320-SIP 6.5.1
    Rootfs-Version:        snom320 jffs2 v3.36
Comments:By: Serge Vecher (serge-v) 2007-03-02 14:21:01.000-0600

can you please recompile Asterisk with 'make dont-optimize' and reproduce those bt's?

By: Jeremy Apple (japple) 2007-03-02 14:30:43.000-0600

I've uploaded new bt's from asterisk built with 'make dont-optimize'.

By: Serge Vecher (serge-v) 2007-03-02 14:36:21.000-0600

If you will, please also produce the following log file so we can see what's going on prior to the crash. Thanks for quick answers!

1) Prepare test environment (reduce the amount of unrelated traffic on the server);
2) Make sure your logger.conf has the following line:
  console => notice,warning,error,debug
3) restart Asterisk with the following command:
  'asterisk -Tvvvvvdddddngc | tee /tmp/verbosedebug.txt'
4) Enable SIP transaction logging with the following CLI commands (1.4/trunk commands in parenthesis):
set debug 4 (core set debug 4)
set verbose 4 (core set verbose 4)
sip debug (sip set debug)
5) Reproduce the problem
6) Trim startup information and attach verbosedebug.txt to the issue.

By: Jeremy Apple (japple) 2007-03-02 15:12:52.000-0600

verbosedebug.txt uploaded

By: Joshua C. Colp (jcolp) 2007-03-27 19:26:04

Here's the issue:

The parking number assigned to the channel is still being played back while it is being picked up. This causes the channel to be handled in two threads, which causes major badness. The solution in my mind is to stop playing back the number as soon as it is picked up, but that is easier said than done.

By: Joshua C. Colp (jcolp) 2007-06-19 08:04:02

Fixed in 1.2 as of revision 69846, 1.4 as of revision 69847, and trunk as of revision 69850.