[asterisk-bugs] [JIRA] (ASTERISK-22351) Segfault in LIBEDIT_INTERNAL after tgetstr()

A. Iglesias (JIRA) noreply at issues.asterisk.org
Mon Aug 26 07:55:03 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-22351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=209580#comment-209580 ] 

A. Iglesias commented on ASTERISK-22351:
----------------------------------------

Hi Walter

I think I've found the problem in my system. Before compiling asterisk, I always run the install_prereq script to be sure all dependencies are installed in the system. Considering what you've said, I've been searching the ncurses related packages installed in the system, and I've seen that libncurses5 and libncursesw5 are installed, but libncurses5-dev and libncursesw5-dev no. So I've installed both packages, removed the function declaration we put, then...

make clean
./configure
make
make install

... and no compilation warnings and now it works!!!

So, considering this, apart from my mistake of not install this dev packages, I think there are two things that can avoid this situation:

- Include libncurses5-dev and libncursesw5-dev in the install-prereq script verification. I've seen now it checks libncurses-dev, but it seems this is not working.

- For what you said, if no term+ncurses or termcap are present, the compiler should have given error, is it correct? I think that's what you're currently looking at.

Let me know if you need me to do more tests or give you more info.
                
> Segfault in LIBEDIT_INTERNAL after tgetstr()
> --------------------------------------------
>
>                 Key: ASTERISK-22351
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22351
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/General
>    Affects Versions: 1.8.23.0, 11.5.0
>         Environment: HP Proliant DL320e G8
> Debian Wheezy (kernel 3.2.0-4-amd64)
> DAHDI 2.7.0 (no cards installed)
> Libpri 1.4.14
>            Reporter: A. Iglesias
>         Attachments: config.h, config.log, config.status, issueA22351_larger_buf_and_offset.patch, issueA22351_larger_buf.patch
>
>
> New installation in this server. After everything is installed and asterisk started, anytime a try to open an asterisk console with asterisk -vvvvvvvvvr I get a "Segmentation fault" and console doesn't open, but asterisk keeps running. If I stop asterisk and try to start it with asterisk -vvvvvvc, it fails in the same way.
> I've been doing some research, and found a guy with the same problem in the past, related whit the value of the TERM system variable. In my case is "xterm", but if I change it for a non existent value ('lalalala' for example) then console starts.
> Digging deeper, I've found that the problem is in main/editline/term.c , in line 960 when executing this:
> term_alloc(el, t, tgetstr((char *)t->name, &area));
> If I change this line with the one executed when TERM has an unknown value...
> term_alloc(el, t, NULL);
> ... and recompile, then console starts.
>  the problem seems to be in the tgetstr function, because if I add a line just with this...
> tgetstr((char *)t->name, &area);
> ... I get the same error.
> I'll try to get core dump stuff, but maybe with this info is enough at the moment to find a solution. I've been trying to find the problem/solution studying the code, but no luck yet.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list