[Home]

Summary:ASTERISK-01273: command line completion problems
Reporter:Steve Hanselman (shanselman)Labels:
Date Opened:2004-03-23 01:54:30.000-0600Date Closed:2004-09-25 02:53:46
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Enter asterisk
type "show application ?"
core dumps

Comments:By: Steve Hanselman (shanselman) 2004-03-23 02:14:07.000-0600

Here's the tracefrom gdb.

[root@Linux3 asterisk]# gdb asterisk ../core
GNU gdb Red Hat Linux (5.2-2)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
Core was generated by `asterisk -r'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/i686/libpthread.so.0...done.
Loaded symbols for /lib/i686/libpthread.so.0
Reading symbols from /usr/lib/libncurses.so.5...done.
Loaded symbols for /usr/lib/libncurses.so.5
Reading symbols from /lib/i686/libm.so.6...done.
Loaded symbols for /lib/i686/libm.so.6
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/i686/libc.so.6...done.
Loaded symbols for /lib/i686/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0  __strcasecmp (s1=0xbffff60f "Z", s2=0x0)
   at ../sysdeps/generic/strcasecmp.c:65
65      ../sysdeps/generic/strcasecmp.c: No such file or directory.
       in ../sysdeps/generic/strcasecmp.c
(gdb) bt
#0  __strcasecmp (s1=0xbffff60f "Z", s2=0x0)
   at ../sysdeps/generic/strcasecmp.c:65
#1  0x400ef86e in msort_with_tmp (b=0x80d8ac8, n=2, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:56
#2  0x400ef759 in msort_with_tmp (b=0x80d8ac0, n=4, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:48
#3  0x400ef759 in msort_with_tmp (b=0x80d8ab4, n=7, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:48
#4  0x400ef759 in msort_with_tmp (b=0x80d8a9c, n=13, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:48
ASTERISK-1  0x400ef759 in msort_with_tmp (b=0x80d8a68, n=26, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:48
ASTERISK-2  0x400ef759 in msort_with_tmp (b=0x80d8a00, n=52, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
---Type <return> to continue, or q <return> to quit---
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:48
ASTERISK-3  0x400ef759 in msort_with_tmp (b=0x80d8930, n=104, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>,
   t=0xbffff000 "&ASTERISK-8491;&ASTERISK-8739; &ASTERISK-9212;\237&ASTERISK-8739; &ASTERISK-9212;¿&ASTERISK-8739; &ASTERISK-9212;.&ASTERISK-8739; &ASTERISK-9212;=&ASTERISK-8739; &ASTERISK-9212;D&ASTERISK-8739; &ASTERISK-9212;<&ZAP-159; &ASTERISK-9212;C&ZAP-159; &ASTERISK-9212;R&ZAP-159; &ASTERISK-9212;X&ZAP-159; &ASTERISK-9212;_&ZAP-159; &ASTERISK-9212;d&ZAP-159; &ASTERISK-9212;k&ZAP-159; &ASTERISK-9212;º&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9198;&ASTERISK-8565; 
&ASTERISK-9212;&ASTERISK-9247;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9275;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9299;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-9323;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-957;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-942;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8739;&ASTERISK-8565; &ASTERISK-9212;&ASTERISK-8491;&ASTERISK-8565; &ASTERISK-9212;
\001&ASTERISK-8564; &ASTERISK-9212;\t&ASTERISK-8564; &ASTERISK-9212;\016&ASTERISK-8564; &ASTERISK-9212;") at msort.c:48
ASTERISK-4  0x400ef908 in qsort (b=0x80d8930, n=104, s=4,
   cmp=0x8082e50 <ast_el_sort_compare>) at msort.c:98
ASTERISK-5  0x080811db in ast_cli_display_match_list (matches=0x80d8930, len=103,
   max=20) at asterisk.c:950
ASTERISK-6 0x080814c7 in cli_complete (el=0x80d2168, ch=63) at asterisk.c:1047
ASTERISK-7 0x08094422 in el_gets (el=0x80d2168, nread=0xbffff684) at read.c:472
ASTERISK-8 0x08081a4f in ast_remotecontrol (data=0x0) at asterisk.c:1192
ASTERISK-9 0x080822f0 in main (argc=2, argv=0xbffffbc4) at asterisk.c:1416
ASTERISK-10 0x400db657 in __libc_start_main (main=0x8081e30 <main>, argc=2,
   ubp_av=0xbffffbc4, init=0x8050c48 <_init>, fini=0x80a9ea0 <_fini>,
   rtld_fini=0x4000dc54 <_dl_fini>, stack_end=0xbffffbbc)
   at ../sysdeps/generic/libc-start.c:129
(gdb)

By: alric (alric) 2004-03-23 10:30:19.000-0600

Which version of CVS are you using?

By: Steve Hanselman (shanselman) 2004-03-23 11:09:58.000-0600

Just re-updated my cvs tree (5 mins ago), rebuilt, installed and retested, so a bug on the very latest CVS as of this entry.

By: Olle Johansson (oej) 2004-03-23 11:43:30.000-0600

Happens for me on Linux, but not on Freebsd.
Asterisk does not crash, but the remote CLI (asterisk -r) crashes.

Asterisk -c doesn't crash.

By: Steve Hanselman (shanselman) 2004-03-23 12:09:48.000-0600

Sorry, this is asterisk -r.
It crashes the remote console not asterisk.

By: slepp (slepp) 2004-03-23 14:19:18.000-0600

I can't reproduce this error in either one.

By: Olle Johansson (oej) 2004-03-23 14:28:48.000-0600

gdb from core:
#0 0x4012f649 in strcasecmp () from /lib/libc.so.6
#1 0x0808530a in ast_el_sort_compare (i1=0x80dc740, i2=0x80dc744)
at asterisk.c:927
#2 0x400e45e7 in msort_with_tmp () from /lib/libc.so.6
#3 0x400e458a in msort_with_tmp () from /lib/libc.so.6
#4 0x400e45a9 in msort_with_tmp () from /lib/libc.so.6
ASTERISK-1 0x400e45a9 in msort_with_tmp () from /lib/libc.so.6
ASTERISK-2 0x400e45a9 in msort_with_tmp () from /lib/libc.so.6
ASTERISK-3 0x400e45a9 in msort_with_tmp () from /lib/libc.so.6
ASTERISK-4 0x400e45a9 in msort_with_tmp () from /lib/libc.so.6
ASTERISK-5 0x400e4715 in qsort () from /lib/libc.so.6
ASTERISK-6 0x080832c4 in ast_cli_display_match_list (matches=0x80dc5a8, len=105,
max=20) at asterisk.c:950

By: James Golovich (jamesgolovich) 2004-03-24 03:10:26.000-0600

Took me a few minutes to see why it happened on one box but not the other.  It's all about the number of applications.  The buffer is too small.  Fixing it up right now.  I'll close this out once I get it fixed

By: James Golovich (jamesgolovich) 2004-03-24 03:14:22.000-0600

Fixed in CVS (HEAD and stable)