Hi Thomas, I was surprised myself that something so basic could go wrong. Here is what locale has to say:
~% locale LANG=en LANGUAGE=en_US LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C I have a Swedish keyboard and it happens by accident, that I hit one of the non-ascii keys, thus producing the crash. Probably the same with a German keyboard and all the umlauts ;-) I do not really need to enter these characters on the command line. Thus, I can work around it by modifiying lines 698-699 in ed.inputl.c like this (forcing type conversion to unsigned char): 698 if ((unsigned char )*ch < NT_NUM_KEYS) 699 cmd = CurrentKeyMap[(unsigned char )*ch]; With this, the problem goes completely away (no complaint in valgrind any longer), clearly indicating that "ch" in the executable from the Ubuntu package was of type "signed char *". I run Ubuntu with: 4.13.0-31-generic #34-Ubuntu SMP Fri Jan 19 16:34:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux Hope this helps. Cheers, Jens