Summary:ASTERISK-15841: What causes 'Bad Magic Number'? As immediately after segfault.
Reporter:Alec Davis (alecdavis)Labels:
Date Opened:2010-03-19 03:15:33Date Closed:2010-03-22 14:10:13
Versions:Frequency of
Description:One way to get a 'Bad Magic Number' is to loop the Local Channel a number of times.

This is repeatable with following test dialplan.

When 10000 is dialled the local channel is looped 20 times, and would immediately segfault after some 'Exceptionly long queued frames...

exten => _10020,1,Answer()
exten => _10020,n,Playback(test-tones-follow)
exten => _10020,n,Milliwatt()

exten => _1XXXX,1,Set(i=${MATH(${EXTEN}+1,int)})
exten => _1XXXX,n,Dial(Local/${i}@phones,,r)
Comments:By: Alec Davis (alecdavis) 2010-03-19 03:20:58

Maybe a clue below, just after a Local Channel in the loop was optimized out, then Bad Magic Number, then segfault.

console output:

== Spawn extension (phones, 10015, 2) exited non-zero on 'Local/10015@phones-f860;2'
[Mar 16 23:14:00] ERROR[30417]: astobj2.c:116 INTERNAL_OBJ: bad magic number 0x0 for 0x85dc240

By: Leif Madsen (lmadsen) 2010-03-22 14:10:12

Hey Alec,

After discussing with Russell, this appears like this is a duplicate of the other issue, or rather the base issue is really the same here.

I think what you've done is acknowledged there is really two issues in one issue, and have kindly broken them up into separate issues to be resolved (which is always appreciated!), but in this case I think they two issues are so closely related that we can just track it on the originally opened issue instead of spreading it across a couple of issues.

If you disagree and I'm misunderstanding, then I'm sure you'll let us know.