[Home]

Summary:ASTERISK-15515: Segmentation Fault
Reporter:Matt MacAdams (mattmacadams)Labels:
Date Opened:2010-01-25 19:58:52.000-0600Date Closed:2011-06-07 14:08:15
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_macro
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:exten => s,n,NoOp(${CHANNEL(id)})
exten => s,n,NoOp(${CHANNEL(name)})
exten => s,n,NoOp(${CHANNEL(ID)})
exten => s,n,NoOp(${CHANNEL(NAME)})
exten => s,n,NoOp(${CHANNEL()})
exten => s,n,NoOp(${CHANNEL(val)})
exten => s,n,NoOp(${CHANNEL(var)})
exten => s,n,NoOp(${CHANNEL(VAL)})
exten => s,n,NoOp(${CHANNEL(VAR)})

The above code is included inside a Macro that is executed using the M option in the Dial command

This causes a "7116 Segmentation fault" in Asterisk.

It says Asterisk ended with exit status 139.

I know this code isn't common, but it can't hurt to fix it..

The exact code is listed inside the Additional information section..

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


[macro-ringer]
; ARG1: Dialing sequence
; ARG2: Timeout
; ARG3: Use the screener (Y/N)?

exten => s,1,NoOp(***** NEW RINGER *****)
exten => s,n,GotoIf($["${ARG3}"="Y"]?SCREENER)
exten => s,n,Goto(STANDARD)
exten => s,n,MacroExit


;;;;;;;;; STANDARD DIALER ;;;;;;;;;;;
exten => s,n(STANDARD),Dial(${ARG1},${ARG2},gm)
exten => s,n,GotoIf($["${DIALSTATUS}"!="ANSWER"]?DECLINED:ACCEPTED)
exten => s,n,MacroExit

;;;;;;;;;; SCREENER ;;;;;;;;;;
exten => s,n(SCREENER),Dial(${ARG1},${ARG2},gmM(screener))
exten => s,n,GotoIf($["${DIALSTATUS}"!="ANSWER"]?DECLINED)
exten => s,n,NoOp(--------------------- OK... SO WAS THE CALL ANSWERED? WAS IT ACCEPTED? -------------------------)
exten => s,n,NoOp(${CHANNEL(id)})
exten => s,n,NoOp(${CHANNEL(name)})
exten => s,n,NoOp(${CHANNEL(ID)})
exten => s,n,NoOp(${CHANNEL(NAME)})
exten => s,n,NoOp(${CHANNEL()})
exten => s,n,NoOp(${CHANNEL(val)})
exten => s,n,NoOp(${CHANNEL(var)})
exten => s,n,NoOp(${CHANNEL(VAL)})
exten => s,n,NoOp(${CHANNEL(VAR)})
exten => s,n,NoOp(10)
exten => s,n,NoOp(11)
exten => s,n,NoOp(12)
exten => s,n,Goto(DECLINED)
exten => s,n,MacroExit

exten => s,n(ACCEPTED),Set(RESULT=ACCEPTED)
exten => s,n,MacroExit

exten => s,n(DECLINED),Set(RESULT=DECLINED)
exten => s,n,MacroExit











[macro-screener]
exten => s,1,NoOp(*** CALL SCREEN ***)
exten => s,n,Wait(0.5)
exten => s,n,Set(TIMEOUT(digit)=1)
exten => s,n,Background(/pbx/screener)
exten => s,n,WaitExten(5)
exten => s,n,NoOp(*** SCREENER: NO RESPONSE (DECLINED) ***)
exten => s,n,Set(MACRO_RESULT=GOTO:s^DECLINED)
exten => s,n,MacroExit

exten => 1,1,NoOp(*** SCREENER: EXPLICITLY ACCEPTED ***)
exten => 1,n,Set(MACRO_OFFSET=4)
exten => 1,n,Playback(call-connected)
exten => 1,n,MacroExit

exten => 2,1,NoOp(*** SCREENER: EXPLICITLY DECLINED ***)
exten => 2,n,Set(MACRO_RESULT=GOTO:s^DECLINED)
exten => 2,n,MacroExit

exten => _X,1,NoOp(*** SCREENER: INVALID (DECLINED) ***)
exten => _X,n,Set(MACRO_RESULT=GOTO:s^DECLINED)
exten => _X,n,MacroExit




Comments:By: Leif Madsen (lmadsen) 2010-01-26 07:54:06.000-0600

If you're getting a segmentation fault, then you need to provide a backtrace as documented in doc/backtrace.txt of your Asterisk sources.

By: Leif Madsen (lmadsen) 2010-03-23 10:27:07

Suspended due to lack of feedback from the reporter.