Summary: | ASTERISK-15515: Segmentation Fault | ||
Reporter: | Matt MacAdams (mattmacadams) | Labels: | |
Date Opened: | 2010-01-25 19:58:52.000-0600 | Date Closed: | 2011-06-07 14:08:15 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | 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. |