Subject: 26.0.90; serial-term error in process filter

From: Gemini Lasswell <[email-masked]>
Date: Sun, 31 Dec 2017 12:57:19 -0800

When a serial-term buffer is connected to a device with bad wiring or
hardware problems, it spams the minibuffer with messages like this:

error in process filter: Args out of range: "\361", -1 [2 times]
error in process filter: Args out of range: "\377\375", -1 [2 times]
error in process filter: Args out of range: "\370\340\374\374", -1 [2 times]
error in process filter: Args out of range: "\376\340\360\370", -1 [2 times]
error in process filter: Args out of range: "\377\377\374\376\371\376\301\377", -1 [2 times]
error in process filter: Args out of range: "\376", -1 [2 times]

Emacs 25.3 is silent under the same conditions.

I'm using an FTDI USB to serial converter and a Raspberry pi. I
discovered the bug after I had wired things up with a flaky
breadboard, but it's quick to reproduce by disconnecting ground.

With emacs -Q:

Connect USB from your Emacs machine to the FTDI device.
Connect GND, TX and RX from the FTDI to the Raspberry Pi.
Turn on the Pi.
M-x serial-term RET /dev/your-device-name-here RET 115200 RET
Now disconnect GND.

Result: The serial-term buffer starts to fill with gibberish, which is
expected and also happens in 25.3, and the process filter errors start
showing up at irregular intervals.

In GNU Emacs 26.0.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.21)
 of 2017-12-31 built on chinook
Repository revision: 312c5655669a882186884626f0cf361de70e679d
Windowing system distributor 'The X.Org Foundation', version 11.0.11905000
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --prefix=/home/gem/src/emacs/emacs-26/bin --with-modules
 --with-x-toolkit=gtk3 --with-xft --config-cache'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS NOTIFY LIBSELINUX
GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort map mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair
time-date mule-util tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet
lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese composite charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 95859 7544)
 (symbols 48 20453 1)
 (miscs 40 44 104)
 (strings 32 28532 1259)
 (string-bytes 1 795727)
 (vectors 16 14820)
 (vector-slots 8 502732 10570)
 (floats 8 49 68)
 (intervals 56 205 0)
 (buffers 992 11))