konsola Asterisk'a na x86_64

Jaroslaw Kruk kruk.jaroslaw w gmail.com
Wto, 11 Lis 2008, 23:04:56 CET


Witam

Korzystając z kilku dni wolnych pomyślałem sobie, że spróbuję poznać
Asterisk'a. Zainstalowałem więc dostępnego w Th asteriska w
wersji 1.4.21.1-2 (architektura: x86_64) a następnie go uruchomiłem. 
Wszystko wydaje się działać prawidłowo tzn. mogę ekigą dodzwonić się do 
niego :-) Problem jaki zauważyłem, to fakt że próba podpięcia się 
konsolą (opcja -r) powoduje wywalenie się programu (Segmentation fault).
Podobnie kończy się działanie gdy próbuję uruchomić go ręcznie z opcją 
-c. Gdy uruchomiłem go pod debugerem i sprawdziłem stos wywołań to 
dotarłem do asterisk-1.4.21.1/main/editline/term.c:949 gdzie do funkcji 
term_alloc jako ostatni parametr przekazywany jest rezultat wywołania 
funkcji tgetstr((char *)t->name, &area). Podejrzewam, że tutaj dzieje 
się coś "niedobrego", co powoduje dalsze wywalenie się asteriska, gdyż 
trafia tam:
cap=0xffffffffcbff65d0 <Address 0xffffffffcbff65d0 out of bounds>
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I teraz zwracam się z pytaniem i prośbą o pomoc. Czy ktoś zaobserwował u 
siebie takie samo (nie)działanie?  Co należy zmienić w kodzie, albo może 
dodać jakieś flagi do kompilatora, żeby konsola asteriska działała.

PS1.
Cały backtrace wygląda następująco:
(gdb) bt
#0  0x00000000004a22e3 in term_alloc (el=0x728040, t=0x0, 
cap=0xffffffff922d25d0 <Address 0xffffffff922d25d0 out of bounds>) at 
term.c:398
#1  0x00000000004a5dec in term_set (el=0x728040, term=<value optimized 
out>) at term.c:949
#2  0x00000000004a68d4 in el_init (prog=0x4c1a0d "asterisk", 
fin=0x7fab893c36a0, fout=0x7fab893c3780, ferr=0x7fab893c3860) at term.c:361
#3  0x0000000000421393 in ast_el_initialize () at asterisk.c:2197
#4  0x0000000000426415 in main (argc=<value optimized out>, argv=<value 
optimized out>) at asterisk.c:2876
(gdb)

PS2.
W ostatniej stabilnej wersji (1.6.0.1) problem też występuje.

pozdrawiam
-- 
Jaroslaw Kruk   : jareq w pld-linux.org kruk.jaroslaw w gmail.com
GPG key Id      : 0x78730F33
GPG FingerPrint : FD00 0082 DFBD 65AE 2FD9  A13F B879 7FB0 7873 0F33
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x78730F33




Więcej informacji o liście dyskusyjnej pld-devel-pl