[asterisk-users] Asterisk 1.4.11, res_features.so, SegFault

Bruce McAlister bruce.mcalister at blueface.ie
Tue Sep 11 02:22:50 CDT 2007


Hi All,

I have a really strange issue occuring where if I run "show dialplan" or
"dialplan show" or "dialplan show parkedcalls", then asterisk dumps core.

It only appears to happen with contexts that are created within
res_features. I am able to display all my other dialplans, but, every
time I try to just do a normal "dialplan show" asterisk core dumps
(Segmentation Fault).

My environment is as follows:

Asterisk v 1.4.11
Solaris 10 update 3 (11/06), patched current
gcc v3.4.3

example console output
----------------------------------------------------------------------
*CLI> dialplan show
[ Context 'default' created by 'pbx_config' ]
  Include =>        'demo'
[pbx_config]

[ Context 'page' created by 'pbx_config' ]
  '_X.' =>          1. Macro(page|SIP/${EXTEN})
[pbx_config]

[ Context 'demo' created by 'pbx_config' ]

< SNIP >

[ Context 'ael-dundi-e164-local' created by 'pbx_ael' ]
  Include =>        'ael-dundi-e164-canonical'                    [pbx_ael]
  Include =>        'ael-dundi-e164-customers'                    [pbx_ael]
  Include =>        'ael-dundi-e164-via-pstn'                     [pbx_ael]

[ Context 'parkedcalls' created by 'res_features' ]
Segmentation Fault (core dumped)
----------------------------------------------------------------------

Here are the traces:

----------------------------------------------------------------------
(gdb) bt
#0  0xfebe4d0c in strlen () from /lib/libc.so.1
#1  0xfec3a386 in _ndoprnt () from /lib/libc.so.1
#2  0xfec3d144 in snprintf () from /lib/libc.so.1
#3  0x080babea in show_dialplan_helper (fd=1, context=0x0, exten=0x0,
dpc=0x8047840, rinclude=0x0, includecount=0,
    includes=0x8047640) at pbx.c:6156
#4  0x080bb1b7 in handle_show_dialplan (fd=1, argc=2, argv=0x80478e0) at
pbx.c:3663
#5  0x0808e1f0 in ast_cli_command (fd=1, s=0x0) at cli.c:1979
#6  0x08074167 in main (argc=135703622, argv=0x8047a5c) at asterisk.c:1388
----------------------------------------------------------------------
----------------------------------------------------------------------
(gdb) bt full
#0  0xfebe4d0c in strlen () from /lib/libc.so.1
No symbol table info available.
#1  0xfec3a386 in _ndoprnt () from /lib/libc.so.1
No symbol table info available.
#2  0xfec3d144 in snprintf () from /lib/libc.so.1
No symbol table info available.
#3  0x080babea in show_dialplan_helper (fd=1, context=0x0, exten=0x0,
dpc=0x8047840, rinclude=0x0, includecount=0,
    includes=0x8047640) at pbx.c:6156
        p = (struct ast_exten *) 0x81865b9
        c = (struct ast_context *) 0x8186808
        old_total_exten = 0
        __PRETTY_FUNCTION__ = "show_dialplan_helper"
#4  0x080bb1b7 in handle_show_dialplan (fd=1, argc=2, argv=0x80478e0) at
pbx.c:3663
        exten = 0x0
        context = 0x0
        counters = {total_context = 40, total_exten = 67, total_prio =
134, context_existence = 1, extension_existence = 1}
        incstack = {0x1 <Address 0x1 out of bounds>, 0x0, 0x0, 0x80a8537
"\215eô[^_ÉÃÇ\003\200", 0x0, 0x8120b95 "logger.c",
  0x37c <Address 0x37c out of bounds>, 0x811596c "ast_verbose", 0x0,
0x0, 0x80476e8 "`\025\025\b\001v\004\b\210>\026\b",
  0x80e3ee6 "\203Ä0\215eô[^\211ø_ÉÃ\220©\200", 0x8047890
"çrÄþp¯\027\b\002", 0x100 <Address 0x100 out of bounds>, 0x81a8830 "Ò",
  0x1b <Address 0x1b out of bounds>, 0xfec8c640 "", 0x0, 0xfec8c640 "",
0xfeba2000 "", 0xfec88000 "\034\213\f", 0x0,
  0x811d611 "*CLI> ", 0x8151566 "", 0x80476b4
"Ôv\004\b®\004Åþ@ÆÈþ@\206µþøv\004\bDÑÃþ\027Ö\021\b\fw\004\bàv\004\b",
  0xfec5a75a "\203Ä\004\205Àt,Pè9]", 0xfec8c640 "", 0xfeba2000 "",
0xfec88000 "\034\213\f", 0x80476d4 "àv\004\b",
  0xfec504ae "\203Ä\0043É\213Eü\211\b_^[\213å]Ãj", 0xfec8c640 "",
0xfeb58640 "", 0x80476f8 "\230x\004\bÎ\006\a\b`\025\025\bÈ",
  0xfec3d144 "\203Ä\020\213L$\bÆ\001", 0x811d617 "", 0x804770c "",
0x80476e0 "Á", 0x0, 0x8163e88 "´\005\a\b\006",
  0xc1 <Address 0xc1 out of bounds>, 0x8151566 "", 0x8151560 "*CLI> ",
0x8047601 "", 0x8163e88 "´\005\a\b\006", 0x0,
  0x8047898 "\002", 0x80706ce
"\203Ä\020\215eô[^¸`\025\025\b_ÉÃPh\030Ö\021\bëÙ\211ö\213µ\204þÿÿ\205ötßj\024j\036j%\215uÈV1öèu8\a",

  0x8151560 "*CLI> ", 0xc8 <Address 0xc8 out of bounds>, 0x811d611
"*CLI> ", 0x0, 0xfeba2000 "", 0xfec88000 "\034\213\f",
  0x8047958 "øy\004\b", 0x0, 0xfec8b800 "", 0xfda18200 "@\202¡ý", 0x0,
0xfec88000 "\034\213\f", 0x4 <Address 0x4 out of bounds>,
  0x0, 0x0, 0x804788c "t\035\025\bçrÄþp¯\027\b\002", 0x8047888
"àx\004\bt\035\025\bçrÄþp¯\027\b\002",
  0x2f <Address 0x2f out of bounds>, 0x1 <Address 0x1 out of bounds>,
0x0, 0x1 <Address 0x1 out of bounds>, 0x0, 0x0,
  0x43 <Address 0x43 out of bounds>, 0x0, 0x0, 0x0, 0xfbebdff8 "", 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x5 <Address 0x5 out of bounds>, 0x5 <Address 0x5 out of bounds>, 0x0,
0x0,
  0x812a83c "No such command '%s' (type 'help' for help)\n", 0x81bedc3
"s' ]\n", 0xfeba2000 "", 0xfec88000 "\034\213\f",
  0x5f00796f <Address 0x5f00796f out of bounds>, 0xfec8c800 "",
0xfec8c800 "", 0x80477d8 "»ÔÃþ\020\225Èþ",
  0xfec5a75a "\203Ä\004\205Àt,Pè9]", 0xfec8c800 "", 0xfec8c800 "",
0x8047808 " x\004\b2/Àþ\020\225Èþ",
  0xfec3d4bb "\203Ä\020\213L$\bÆ\001", 0xfec89510 "", 0x0, 0xfec02e74
"[\201Ã\214Q\b", 0xfec89510 "", 0xfec88000 "\034\213\f",
  0xfec89510 "", 0x0, 0x817af70 "dialplan", 0xfec89510 "", 0xfec88000
"\034\213\f", 0xfeba2000 "",
  0x8047820 "\215\002Áþp¯\027\b8¬\026\b", 0xfec02f32
"\203Ä\004\213Ç_^[\213å]ÃèÙ¨ýÿÇ", 0xfec89510 "", 0x0,
  0x816ac38 "dialplan show", 0x817af70 "dialplan", 0xfec1028d
"\203Ä\b\213Ç_^[\213å]Ã", 0x817af70 "dialplan",
  0x816ac38 "dialplan show", 0x0, 0xfebe4a6e "[\201Ã\2225\n", 0x80478e0
"p¯\027\by¯\027\b", 0x8146ac0 "9Ò\021\b?Ò\021\b",
  0xfec101ae "[\201ÃR~\a"}
#5  0x0808e1f0 in ast_cli_command (fd=1, s=0x0) at cli.c:1979
        argv = {0x817af70 "dialplan", 0x817af79 "show", 0x0, 0x817af88
"dialplan show", 0xfec1028d "\203Ä\b\213Ç_^[\213å]Ã",
  0x817af88 "dialplan show", 0x816ac38 "dialplan show", 0x8047a54 "9",
0x8162770 "", 0x817afa0 "9",
  0x8047938 "øy\004\b·µ\017\bp'\026\bTz\004\b8¬\026\b\n", 0x80fab1d
"\211C\004\203Ä\020\213V\020\205Ò\017\204\216",
  0x816ac38 "dialplan show", 0xfec88000 "\034\213\f",
  0x804792c
"8¬\026\bTz\004\bF¬\026\bøy\004\b·µ\017\bp'\026\bTz\004\b8¬\026\b\n",
  0xfec59f01 "\203Ä\b[\213å]ÃU\213ì\203ì\b\203äøSVè", 0xfec8a1ec "",
0x0, 0xfec8a1ec "", 0x816ac38 "dialplan show", 0x8047a54 "9",
  0x816ac46 "", 0x80479f8 "ì}\004\bgA\a\b\001",
  0x80fb5b7
"\203Ä\020\203øÿ\211Â\017\204Uùÿÿ\213>\213]\b\211{\004éHùÿÿ\215Jÿ\211M´ÆD\032ÿ",
0x8162770 "", 0x8047a54 "9",
  0x816ac38 "dialplan show", 0xa <Address 0xa out of bounds>, 0x0, 0x0,
0x80479f8 "ì}\004\bgA\a\b\001", 0x0, 0x8155610 "",
  0x540f <Address 0x540f out of bounds>, 0x8163df8 "\002%", 0x0, 0x0,
0x0, 0x4 <Address 0x4 out of bounds>,
  0x4 <Address 0x4 out of bounds>, 0x0, 0x0, 0x81277b4 "Asterisk Console
on '%s' (pid %ld)", 0x8047a9d "", 0xfec8c540 "",
  0x268a <Address 0x268a out of bounds>, 0xfeba2000 "", 0xfec47232
"[\201ÃÎ\r\004", 0xfec88000 "\034\213\f", 0x80479b0 "\001",
  0xfec472e7
"\203Ä\004\205Àt\a\213@\004\213å]Ã3À\213å]ÃU\213ì\213E\b\215H\020÷Áÿ\017",
  0xfec473fe
"\203Ä\f;øt4\205À~\030+ø\003ðWV\213EüPè$gùÿ\203Ä\f;øuæë\030\213M\b\203Á\f\212\001\f
\210\001¸ÿÿÿÿ_^[\213å]Ã3À_^[\213å]ÃU\213ìSVWè", 0x1 <Address 0x1 out of
bounds>,
  0xfec8f1ac "\033[0;37;40mAsterisk Ready.\n\033[0;37;40mecode dialplan
functions\033[0;37;40m)\n)\n[0;37;40m)\n)\n\nost
1\n;40m)\nder.\033[0;37;40m)\nength [100] betweenWordsSilence [50]
maximumNumberOfWords [3] silenceThreshold [256]"...,
  0xa <Address 0xa out of bounds>, 0xfec8a1ec "", 0x8155610 "",
0xfec88000 "\034\213\f", 0xfec8a1ec "", 0x0, 0xfec8a1ec "", 0x0,
  0xfec88000 "\034\213\f", 0xfeba2000 ""}
        e = (struct ast_cli_entry *) 0x814e760
        x = 2
        dup = 0x817af70 "dialplan"
        tws = 0
#6  0x08074167 in main (argc=135703622, argv=0x8047a5c) at asterisk.c:1388
        fd = 135703608
        title = "Asterisk Console on 'astdev01' (pid
9866)\000ÿþاÿþ´z\004\b\237\023ýþ\001\000\000\000اÿþÌz\004\b±{ýþ\001\000\000\000\210¢ÿþØ\téþاÿþ<{\004\bÒèýþ\210¢ÿþØ\téþT×àþйÞþ<{\004\b\006ÏÕþØ\téþXÌÿþV¬Ü\006~;þþp\205¼þ\203\002\000\000اÿþk\000__k\000as@{\004\bòôüþ\t{\004\b\r{\004\b\220{\004\b\000\000\000\000اÿþÈ\006Ìþ06½þ@Y¼þ ­¼þ"...
        attr = {__pthread_attrp = 0x0}
        dont_care = 25
        c = 0
        filename = "//.asterisk_history", '\0' <repeats 60 times>
        hostname = "astdev01", '\0' <repeats 247 times>
        tmp = "\033[1;37;40mAsterisk
Ready.\n\033[0;37;40m\000}\004\b\020}\004\b\f\000\000\000\210¢ÿþXÌÿþاÿþÊéÅþ\210¢ÿþاÿþ\214|\004\b\237\023ýþ"
        xarg = 0x0
        x = 0
        f = (FILE *) 0x816ac38
        sigs = {__sigbits = {544771, 0, 0, 0}}
        num = 14
        is_child_of_nonroot = 0
        buf = 0x816ac38 "dialplan show"
        runuser = 0x0
        rungroup = 0x0
        __PRETTY_FUNCTION__ = "main"
        __FUNCTION__ = "main"
----------------------------------------------------------------------
----------------------------------------------------------------------
(gdb) thread apply all bt

Thread 24 (process 1648266    ):
#0  0xfec60e57 in __pollsys () from /lib/libc.so.1
#1  0xfec55b77 in _pollsys () from /lib/libc.so.1
#2  0xfec0a8f2 in poll () from /lib/libc.so.1
#3  0x080723fd in monitor_sig_flags (unused=0x0) at asterisk.c:2507
#4  0x080e975d in dummy_start (data=0xfbebdf30) at utils.c:775
#5  0xfec6013d in _thr_setup () from /lib/libc.so.1
#6  0xfec60420 in L3_doit () from /lib/libc.so.1
#7  0xfeac5400 in ?? ()
#8  0x00000000 in ?? ()
#9  0x00000000 in ?? ()
Cannot access memory at address 0xfbebe000
#0  0xfebe4d0c in strlen () from /lib/libc.so.1
----------------------------------------------------------------------

Any help/assistance with this would be greatly appreciated. If you need
any additional information, I will try to provide what you require.

Thanks
Bruce




More information about the asterisk-users mailing list