Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: gentoo_eshoes@tutanota.com Newsgroups: gnu.bash.bug Subject: Re: [PATCH] Add active mark, face support; activate mark on paste Date: Sat, 11 Apr 2020 18:04:56 +0200 (CEST) Lines: 126 Approved: bug-bash@gnu.org Message-ID: References: <875c423e-0420-78d2-af4b-dfb168432e2d@case.edu> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: usenet.stanford.edu 1586621108 26571 209.51.188.17 (11 Apr 2020 16:05:08 GMT) X-Complaints-To: action@cs.stanford.edu Cc: bug-bash@gnu.org, chet.ramey@case.edu To: Chet Ramey Envelope-to: bug-bash@gnu.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1586621096; s=s1; d=tutanota.com; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Content-Transfer-Encoding:Cc:Cc:Date:Date:In-Reply-To:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:References:Sender; bh=LRxBTs48qeGoMYRgYqvELXQhz8z0mtCB08GR7AxGJj4=; b=uiZoh33YBh5rqduHdQdd6qWJ2Fnnzw7YmTYxE7+sqNVCYPI8P05lYFB6IyxS5kv9 y30jBN1UCOMM2H+J8N6YQMCBeQcjvIb+c7O2RndQAoNI/AN5hso9EEsVVoxwZf4jW3j MFEnC5/dV9kVM5Gaej3er9xTtISrlT0WZ06UftQuKsDrudfq+BficitIRhtt+XnynS3 4Oe5DUphJ0AXUxMd5WKp5I30YciiqlfgnIVsNkNbRmT70iLNnYlAM9Nc0fMRuLkEIhY zgx62KqSZsZYYJ3RcQBES8/BY4MeBUfy0kBsp2xKoR1rjtRelaRZDWoWZ4SK8T1LYSm cNtrgeMNeQ== In-Reply-To: <875c423e-0420-78d2-af4b-dfb168432e2d@case.edu> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 81.3.6.162 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <875c423e-0420-78d2-af4b-dfb168432e2d@case.edu> Xref: csiph.com gnu.bash.bug:16121 Apr 11, 2020, 17:19 by chet.ramey@case.edu: > On 4/11/20 8:43 AM, gentoo_eshoes@tutanota.com wrote: > >> It silently segfaults when pasting a line of text twice(or a long enough= line once), seems to be length dependent, unsure. >> >> Removing commit ea31c00845c858098d232bd014bf27b5a63a668b from only the f= ile lib/readline/display.c=C2=A0 works around the issue. >> > > Well, sure, since that's the commit that adds the face changes to > redisplay. > true, but my intent was to say that even though that commit also modifies o= ther files(since it seems to be an aggregation of a bunch of commits with u= nrelated-to-'face' changes inside it) I only reverted the changes in that f= ile, as I've no idea in which other files those specific 'face' changes wer= e. Anyway, it doesn't matter, but it does make bisecting a bit harder with = regards to pinpointing the exact culprit. commit ea31c00845c858098d232bd014bf27b5a63a668b Date:=C2=A0=C2=A0 Wed Apr 8 17:09:56 2020 -0400 =C2=A0=C2=A0=C2=A0 commit bash-20200406 snapshot > > What's your $PS1? > $ echo $PS1 \ -----------\n\ \[\a\]\ \[\e[1;37m\e[42m\]\u@\H\[\e[0m\] \ \[\033[1;30m\]$= (date "+%Y/%m/%d %H:%M:%S")\[\033[0m\] \ \[\e[0;37m\]\s\V t:\l j:\j \ d:${S= HLVL} pp:${PPID} p:$$ ut`cat /proc/uptime | cut -f1 -d.`\[\e[0m\]\n\ \[\e[0= ;37m\]!\!\[\e[0m\] \ \[\033[0;36m\]\#\[\033[0m\] \ $(evalexitcode "${__earl= yec[@]}" ) \ \[\e[0m\]$(uname -r) $(uname -v) $(ps_lepath "\w")\[ \033];\w\= a\] \[\e[1;32m\]\$\[\e[0m\] \ $ echo ${PS1@A} declare -x PS1=3D$'\\\n-----------\\n\\\n\\[\\a\\]\\\n\\[\\e[1;37m\\e[42m\\= ]\\u@\\H\\[\\e[0m\\] \\\n\\[\\033[1;30m\\]$(date "+%Y/%m/%d %H:%M:%S")\\[\\= 033[0m\\] \\\n\\[\\e[0;37m\\]\\s\\V t:\\l j:\\j \\\nd:${SHLVL} pp:${PPID} p= :$$ ut`cat /proc/uptime | cut -f1 -d.`\\[\\e[0m\\]\\n\\\n\\[\\e[0;37m\\]!\\= !\\[\\e[0m\\] \\\n\\[\\033[0;36m\\]\\#\\[\\033[0m\\] \\\n$(evalexitcode "${= __earlyec[@]}" ) \\\n\\[\\e[0m\\]$(uname -r) $(uname -v)\n$(ps_lepath "\\w"= )\\[ \\033];\\w\\a\\]\n\\[\\e[1;32m\\]\\$\\[\\e[0m\\] \\\n' evalexitcode ()=20 {=20 =C2=A0=C2=A0=C2=A0 local ps=3D("$@"); =C2=A0=C2=A0=C2=A0 for i in "${ps[@]}"; =C2=A0=C2=A0=C2=A0 do =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if test "$i" -ne "0"; then =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 echo -ne= "\x01\e[1;31m\x02${i}\x01\e[0m\x02 "; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 echo -ne= "\x01\e[1;30m\x02${i}\x01\e[0m\x02 "; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fi; =C2=A0=C2=A0=C2=A0 done } ps_lepath ()=20 {=20 =C2=A0=C2=A0=C2=A0 local lepath=3D"$*"; =C2=A0=C2=A0=C2=A0 local lepath2=3D"${*#\~}"; =C2=A0=C2=A0=C2=A0 if test "$lepath" !=3D "$lepath2"; then =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lepath=3D"$(realpath ~)${lepath2= }"; =C2=A0=C2=A0=C2=A0 fi; =C2=A0=C2=A0=C2=A0 printf %q "${PWD}" } $ echo $PROMPT_COMMAND __earlyec=3D("${PIPESTATUS[@]}") $ echo ${PROMPT_COMMAND@A} declare -x PROMPT_COMMAND=3D'__earlyec=3D("${PIPESTATUS[@]}")' /usr/bin/cat is owned by coreutils 8.32-1 /usr/bin/uname is owned by coreutils 8.32-1 /usr/bin/date is owned by coreutils 8.32-1 >> Please someone tell me how to disable bash's trapping of SIGSEGV so that= the OS is allowed to generate a proper coredump(ctl), rather than have bas= h silently exit with exit code 139, for future reference. >> > > You should just have to run `ulimit -c unlimited'. > Thank you for your reply. It was already 'unlimited'. But when firefox segf= aults it works (that is, `coredumpctl -r`=C2=A0 does list it), yet it doesn= 't happen for bash and I thought it's because bash is somehow catching it a= nd handling it internally, just like this sample program does it (for which= only gdb can catch it, just like for bash): http://wulf.eu.org/code/fix-se= gfault.c But given your reply, I'm starting to wonder if it's something else going w= rong on my OS, though a dummy test seems to imply not: $ ./a.out=20 Segmentation fault (core dumped)$ coredumpctl -r|head -2 TIME=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 PID=C2=A0=C2=A0 UID=C2=A0=C2=A0 GID SIG COREFILE=C2=A0 E= XE Sat 2020-04-11 17:54:45 CEST 138406=C2=A0 1000=C2=A0 1000=C2=A0 11 present= =C2=A0=C2=A0 /tmp/a.out $ cat a.c int main() { =C2=A0 int *a=3D0; =C2=A0 *a=3D1; } So I'm a little lost. > > --=20 > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/ >