From owner-freebsd-current Thu Nov 1 13:20:33 2001 Delivered-To: freebsd-current@freebsd.org Received: from sax.sax.de (sax.sax.de [193.175.26.33]) by hub.freebsd.org (Postfix) with ESMTP id E1B9637B406 for ; Thu, 1 Nov 2001 13:20:09 -0800 (PST) Received: (from uucp@localhost) by sax.sax.de (8.9.3/8.9.3) with UUCP id WAA29668 for freebsd-current@freebsd.org; Thu, 1 Nov 2001 22:20:08 +0100 (CET) Received: (from j@localhost) by uriah.heep.sax.de (8.11.6/8.11.6) id fA1LKCk25023; Thu, 1 Nov 2001 22:20:12 +0100 (MET) (envelope-from j) Date: Thu, 1 Nov 2001 22:20:12 +0100 (MET) Message-Id: <200111012120.fA1LKCk25023@uriah.heep.sax.de> Mime-Version: 1.0 X-Newsreader: knews 1.0b.1 Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) Organization: Private BSD site, Dresden X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E References: <20011101085728.I23297@iguana.aciri.org> From: j@uriah.heep.sax.de (Joerg Wunsch) Subject: Re: shell coredumps with missing termcap entries ? X-Original-Newsgroups: local.freebsd.current To: freebsd-current@freebsd.org Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Luigi Rizzo wrote: > I have been experiencing this problem for sometimes on CURRENT-based > picobsd images: the shell coredumps if it does not find an > entry for its terminal type in /etc/termcap. Seems to be a »feature« of the new libedit. (gdb) run Starting program: /usr/obj/usr/src/bin/sh/sh # set -E Cannot read termcap database; using dumb terminal settings. Program received signal SIGABRT, Aborted. 0x8075380 in kill () (gdb) bt #0 0x8075380 in kill () #1 0x80a0592 in abort () #2 0x805c72d in el_beep () #3 0x805c760 in el_beep () #4 0x805c760 in el_beep () #5 0x805c4bf in el_beep () #6 0x8061558 in el_gets () #7 0x80618fc in el_gets () #8 0x805d0ec in el_beep () #9 0x805ce91 in el_beep () #10 0x805b3c7 in el_init () #11 0x804eeb7 in histedit () at /usr/src/bin/sh/histedit.c:114 #12 0x805304f in optschanged () at /usr/src/bin/sh/options.c:134 #13 0x80534fa in setcmd (argc=2, argv=0x80ec574) at /usr/src/bin/sh/options.c:358 #14 0x804b973 in evalcommand (cmd=0x80ec54c, flags=0, backcmd=0x0) at /usr/src/bin/sh/eval.c:867 #15 0x804a9ec in evaltree (n=0x80ec54c, flags=0) at /usr/src/bin/sh/eval.c:285 #16 0x8051c52 in cmdloop (top=1) at /usr/src/bin/sh/main.c:253 #17 0x8051bbe in main (argc=1, argv=0xbfbffc48) at /usr/src/bin/sh/main.c:202 #18 0x8048135 in _start () (gdb) up 11 #11 0x804eeb7 in histedit () at /usr/src/bin/sh/histedit.c:114 114 el = el_init(arg0, el_in, el_out, el_err); Here's the stack trace obtained when linking against a -g compiled libedit: (gdb) up #1 0x80a0592 in abort () (gdb) #2 0x805c72d in node__try (el=0x80f3000, ptr=0x80ef200, str=0x80c245a "A", val=0x80f2098, ntype=-791621424) at /usr/src/lib/libedit/key.c:359 359 EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); (gdb) #3 0x805c760 in node__try (el=0x80f3000, ptr=0x80ef1e0, str=0x80c2459 "[A", val=0x80f2098, ntype=-791621424) at /usr/src/lib/libedit/key.c:366 366 (void) node__try(el, ptr->next, str, val, ntype); (gdb) #4 0x805c760 in node__try (el=0x80f3000, ptr=0x80ef1c0, str=0x80c2458 "\e[A", val=0x80f2098, ntype=-791621424) at /usr/src/lib/libedit/key.c:366 366 (void) node__try(el, ptr->next, str, val, ntype); (gdb) #5 0x805c4bf in key_add (el=0x80f3000, key=0x80c2458 "\e[A", val=0x80f2098, ntype=-791621424) at /usr/src/lib/libedit/key.c:210 210 (void) node__try(el, el->el_key.map, key, val, ntype); (gdb) #6 0x8061558 in term_reset_arrow (el=0x80f3000) at /usr/src/lib/libedit/term.c:1070 1070 key_add(el, strA, &arrow[A_K_UP].fun, arrow[A_K_UP].type); (gdb) #7 0x80618fc in term_bind_arrow (el=0x80f3000) at /usr/src/lib/libedit/term.c:1177 1177 term_reset_arrow(el); (gdb) #8 0x805d0ec in map_init_vi (el=0x80f3000) at /usr/src/lib/libedit/map.c:1045 1045 term_bind_arrow(el); (gdb) #9 0x805ce91 in map_init (el=0x80f3000) at /usr/src/lib/libedit/map.c:933 933 map_init_vi(el); (gdb) #10 0x805b3c7 in el_init (prog=0xbfbffcec "/usr/obj/usr/src/bin/sh/sh", fin=0x80e8d40, fout=0x80e8df0, ferr=0x80e8d98) at /usr/src/lib/libedit/el.c:86 86 (void) map_init(el); -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message