Just wanted to add another voice confirming this behaviour not only
with konsole but with terms running bash under XFree86-4 (problems
since 5.1).  Another cause of cores is shift-enter or other unusual
Escapes / Meta-key-combos.

Often times I would mistype key-shortcuts and have xterms disappearing.

My debug shows slightly different output (with symbols) and at one
point gdb itself crashed after failing an internal assertion - the
back-trace is endless:

Core was generated by `bash'.
Program terminated with signal 4, Illegal instruction.
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /lib/libc.so.5...done.
Loaded symbols for /lib/libc.so.5
Reading symbols from /usr/libexec/ld-elf.so.1...done.
Loaded symbols for /usr/libexec/ld-elf.so.1

(gdb) bt
#0  0x0809f2f9 in _rl_dispatch_subseq (key=79, map=0x80d3e20, got_subseq=Cannot access 
memory at address 0xbbbffff8
)
    at readline.c:537
#1  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#2  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#3  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#4  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#5  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#6  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#7  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
#8  0x0809f2ef in _rl_dispatch (key=256, map=0x80f3008) at readline.c:529
...

readline.c:
524     int
525     _rl_dispatch (key, map)
526          register int key;
527          Keymap map;
528     {
529       return _rl_dispatch_subseq (key, map, 0);
530     }
531
532     int
533     _rl_dispatch_subseq (key, map, got_subseq)
534          register int key;
535          Keymap map;
536          int got_subseq;
537     {
538       int r, newkey;
539       char *macro;
540       rl_command_func_t *func;
541
542       if (META_CHAR (key) && _rl_convert_meta_chars_to_ascii)
543         {
544           if (map[ESC].type == ISKMAP)
545             {
546               if (RL_ISSTATE (RL_STATE_MACRODEF))
547                 _rl_add_macro_char (ESC);
548               map = FUNCTION_TO_KEYMAP (map, ESC);
549               key = UNMETA (key);
550               rl_key_sequence_length += 2;
551               return (_rl_dispatch (key, map));
552             }
..
617     #if defined (VI_MODE)
..
645          r = _rl_dispatch_subseq (newkey, FUNCTION_TO_KEYMAP (map, key), got_su
bseq || map[ANYOTHERKEY].function);
...


_rl_* are libreadline internals and in this case recursive calls
are involved which depending on the Keymap take different actions
on the input stream.

So this is likely a readline bug, but it's possible that a bad Keymap
may be passed to readline since it doesn't happen on syscons for
instance.

This appears to be a known issue on the Linux side as well and a patch
for readline is available:  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=98229

The patch that fixes it is from Mandrake:
> Bug-Description:
>
> Pressing certain key sequences causes an infinite loop in _rl_dispatch_subseq
> with the `key' argument set to 256.  This eventually causes bash to exceed
> the stack size limit and crash with a segmentation violation

Note also that there is a version of readline included with
bash and the version from under /usr/src/contrib/libreadline that
the port uses.

Ultimately this bug might be best directed to [EMAIL PROTECTED]
or [EMAIL PROTECTED] if patching the system libreadline
doesn't help.


On Wed, Mar 17, 2004 at 11:46:12AM +1100, Sam Lawrance wrote:
> Maybe you already know, but this looks like ports/61297. The PR contains
> reports of similar occurrences with xterm.
> 
> On Wed, 2004-03-17 at 07:00, Dan Langille wrote:
> > Any one interested in digging for this one?  My laptop is out of 
> > commission at the moment, but hopefully it'll be back soone.
> > 
> > ------- Forwarded message follows -------
> > From:               Andy Fawcett <[EMAIL PROTECTED]>
> > To:                 [EMAIL PROTECTED]
> > Subject:            Re: [kde-freebsd] F1+Konsole+bash = bash.core
> > Date sent:          Tue, 16 Mar 2004 09:15:39 +0200
> > Copies to:          Dan Langille <[EMAIL PROTECTED]>
> > 
> > On Tuesday 16 March 2004 02:23, Dan Langille wrote:
> > > Hi,
> > >
> > > Would this be considered a Konsole issue?
> > >
> > > Press F1 while in a bash shell in Konsole and you get:
> > >
> > > laptpo# bash
> > > [EMAIL PROTECTED]:/home/dan] # <PRESS F1 here>Illegal instruction (core
> > > dumped) laptop#
> > >
> > > This does not happen at the console.  only Konsole.  Nor under any
> > > other shell I tried (/bin/sh, /bin/csh, /bin/tcsh).
> > >
> > > This is bash-2.05b.007
> > >
> > > $ ldd /usr/local/bin/bash
> > > ldd: /usr/local/bin/bash: not a dynamic executable
> > >
> > > The situation is 100% reproducible here. And duplicated by others.
> > 
> > $ gdb /usr/local/bin/bash bash.core
> > (blah)
> > (no debugging symbols found)...
> > Core was generated by `bash'.
> > Program terminated with signal 4, Illegal instruction.
> > 
> > (gdb) bt
> > #0  0x2810b9d5 in _rl_dispatch_subseq () from /lib/libreadline.so.4
> > #1  0x2810b9be in _rl_dispatch () from /lib/libreadline.so.4
> > #2  0x2810bc28 in _rl_dispatch_subseq () from /lib/libreadline.so.4
> > #3  0x2810b9be in _rl_dispatch () from /lib/libreadline.so.4
> > 
> > and so on, for 2000+ lines (I stopped checking)
> > 
> > I'd call it a bash/readline problem, but I'm no expert
> > 
> > A.
> > 
> > -- 
> > Andy Fawcett                                     | [EMAIL PROTECTED]
> >                                                  | [EMAIL PROTECTED]
> > "In an open world without walls and fences,      | [EMAIL PROTECTED]
> >   we wouldn't need Windows and Gates."  -- anon  | [EMAIL PROTECTED]
> > 
> > ------- End of forwarded message -------

-- 
 Allan Fields                                       _.^.  ,_ ,. ._ .
 Afields Research/AFRSL - http://afields.ca        <,'/-\/- /\'_| /_
 BSDCan: May 2004, Ottawa - http://www.bsdcan.org   `'|'====-=--- -- -
                                                      `---- -- -
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to