Using the source I was finally able to figure out a method to
repeatably trigger this heisenbug.

HOW TO REPEAT:

1. echo "set revert-all-at-newline on" > bug.inputrc

2. INPUTRC=bug.inputrc bash

3. ^P^U^N^M  [Hold down control and type "punm".]

Bash should die immediately with SIGABRT.

DISCUSSION: The trick is to go up in the history (^P), edit a line
(^U), but then go back to the bottom line (^N) and type any other
command (or even nothing) before hitting return (^M). That makes
readline try to undo the changes to the history, which fails because
it frees an unallocated block.

I have tested this with libreadline6 and the bug affects that shared
library as well as bash's builtin readline. For example, you can
trigger this bug using the python command line:

1. echo "set revert-all-at-newline on" > bug.inputrc

2. INPUTRC=bug.inputrc python

3. help

4. ^P^U^N^M  [Hold down control and type "punm".]

Python dies immediately.

Since this bug affects it, shall I file a new bug report for
libreadline as well?


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to