delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/08/21/10:10:59

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: Robert Mecklenburg <mecklen AT cimsoft DOT com>
MIME-Version: 1.0
Message-ID: <15715.40811.614000.842380@gargle.gargle.HOWL>
Date: Wed, 21 Aug 2002 08:10:51 -0600
To: Cygwin Users List <cygwin AT cygwin DOT com>
Subject: Re: bash segmentation fault under rxvt
In-Reply-To: <200208201412.g7KECft15116@wolf.cimsoft.com>
References: <200208201412 DOT g7KECft15116 AT wolf DOT cimsoft DOT com>

RM> When I start bash in an rxvt window and type C-<up arrow> the rxvt
RM> window terminates.

Okay, more info on this issue.  A clean source tree from setup builds
perfectly.  When run under gdb the stack trace looks like:

(gdb) where
#0  0x0045bfb7 in _rl_dispatch_subseq (key=256, map=0xa01a468, got_subseq=0)
    at readline.c:529
#1  0x0045bfac in _rl_dispatch (key=256, map=0xa01a468) at readline.c:529
#2  0x0045c094 in _rl_dispatch_subseq (key=256, map=0xa01a468, got_subseq=0)
    at readline.c:570
#3  0x0045bfac in _rl_dispatch (key=256, map=0xa01a468) at readline.c:529
#4  0x0045c094 in _rl_dispatch_subseq (key=256, map=0xa01a468, got_subseq=0)
    at readline.c:570
[...thousands more...]

It appears to be an infinite recursion (I stopped the stack trace
listing at frame 8693).  The locals are:

    (gdb) info locals
    key = 256
    map = 0xa01a468
    r = 0
    newkey = 256
    macro = 0xa01a468 ""
    func = (rl_command_func_t *) 0xa01a468
    (gdb) p map[key]
    $1 = {type = 0 '\000', function = 0x466b08 <rl_do_lowercase_version>}

And the infinite recursion occurs because of this code:

569:	  if (func == rl_do_lowercase_version)
	    return (_rl_dispatch (_rl_to_lower (key), map));

Apparently the cpp macro _rl_to_lower(key) returns key unaltered
(presumeably because _rl_uppercase_p(256) is not true).

I'm at the end of my rope here.  Suggestions?

Thanks,
-- 
Robert


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019