Subject: bug#40323: 28.0.50; error in process filter: Invalid search bound (wrong side of point)

From: Jacob Lagares Pozo <[email-masked]>
Date: Mon, 30 Mar 2020 13:04:50 +0200

I am currently using EXMW as my main window manager, and I have been
having some problems with ansi-color-apply-on-region.

I originally posted an issue to the EXWM github repository
(https://github.com/ch11ng/exwm/issues/729), where I got pointed to
submit a bug report here (because that is probably an Emacs bug, and not
an EXWM one).

My *Messages* buffer gets spammed all over with the two following error 
messages,
which freeze Emacs for a few seconds each time.

error in process filter: ansi-color-apply-on-region: Invalid search 
bound (wrong side of point)
error in process filter: Invalid search bound (wrong side of point)

This makes it really difficult to type commands or really do
anything. It happens when I open an EXWM window. I think when the
window outputs text (which goes to the *Async Shell Command* buffer) and
Emacs tries to colorize it, it fails for (possibly) a bug in
ansi-color-apply-on-region. Here is the backtrace if I enable
debug-on-error:

Debugger entered--Lisp error: (error "Invalid search bound (wrong side 
of point)")
re-search-forward("\33\\[[0-?]*[ -/]*[@-~]" #<marker at 1 in *Async 
Shell Command*> t)
ansi-color-apply-on-region(#<marker at 152 in *Async Shell Command*> 
#<marker at 1 in *Async Shell Command*>)
ansi-color-process-output("[03/29/20, 16:21:53:387] info: [FOCUS-EVENT] 
Clien...")
run-hook-with-args(ansi-color-process-output "[03/29/20, 16:21:53:387] 
info: [FOCUS-EVENT] Clien...")
comint-output-filter(#<process Shell> "[03/29/20, 16:21:53:387] info: 
[FOCUS-EVENT] Clien...")

I don't know if I can provide much more information than this, mainly
because my elisp-fu is not really something you can consider to be
"great". If there is anything else I could provide that could
potentially help solved the problem, please let me know about it.

Many thanks,
Jacob

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 
3.24.14, cairo version 1.16.0)
of 2020-03-28 built on neocomputery
Repository revision: dceba13ce57ed0cb726e89566197f77359a38d91
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12007000
System Description: Debian GNU/Linux bullseye/sid

Recent messages:
error in process filter: Invalid search bound (wrong side of point)
error in process filter: ansi-color-apply-on-region: Invalid search 
bound (wrong side of point)
error in process filter: Invalid search bound (wrong side of point)
error in process filter: ansi-color-apply-on-region: Invalid search 
bound (wrong side of point)
error in process filter: Invalid search bound (wrong side of point)
error in process filter: ansi-color-apply-on-region: Invalid search 
bound (wrong side of point)
error in process filter: Invalid search bound (wrong side of point)
error in process filter: ansi-color-apply-on-region: Invalid search 
bound (wrong side of point)
error in process filter: Invalid search bound (wrong side of point)
user-error: End of history; no default available

Configured using:
'configure --prefix=/usr/local'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS JSON PDUMPER LCMS2
GMP

Important settings:
value of $LC_ALL: POSIX
value of $LANG: en_US.UTF-8
locale-coding-system: nil

Major mode: EXWM

Minor modes in effect:
global-linum-mode: t
linum-mode: t
global-hl-line-mode: t
display-time-mode: t
delete-selection-mode: t
helm--remap-mouse-mode: t
smartparens-global-mode: t
smartparens-mode: t
pyvenv-mode: t
company-quickhelp-mode: t
company-quickhelp-local-mode: t
global-company-mode: t
company-mode: t
shell-dirtrack-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-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
buffer-read-only: t
transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny rfc822 mml mml-sec epa
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 helm-command
helm-elisp helm-eval edebug backtrace find-func helm-info helm-mode
helm-files helm-tags helm-locate winner dired dired-loaddefs
helm-buffers helm-occur helm-grep helm-regexp helm-utils helm-help
helm-types disp-table init appareance linum hl-line atom-one-dark-theme
keybinds key-chord welcome misc time utility swiper ivy delsel colir
ivy-overlay helm derived helm-source eieio-compat helm-multi-match
helm-lib async dockerfile-mode sh-script smie executable smartparens
powerline powerline-separators color powerline-themes align glsl-mode
easy-mmode python-elpy cl-extra yasnippet highlight-indentation
flymake-proc flymake warnings help-fns radix-tree help-mode elpy advice
elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util elpy-shell elpy-profile elpy-django
elpy-refactor python tramp-sh grep cus-edit cus-start cus-load wid-edit
cpp-ide company-oddmuse company-keywords company-etags etags fileloop
generator xref project company-gtags company-dabbrev-code
company-dabbrev company-files company-capf company-cmake company-xcode
company-clang company-semantic company-eclim company-template
company-bbdb company-quickhelp pos-tip company pcase rtags popup repeat
compile tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell pcomplete comint ansi-color ring parse-time iso8601
time-date ls-lisp format-spec asm-mode cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs bookmark
text-property-search pp cmake-ide dash s levenshtein find-file
cmake-mode thingatpt rx code-style edmacro exwm-config ido exwm
exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor
xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb
xcb-xproto xcb-types xcb-debug kmacro server finder-inf info package
easymenu browse-url url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
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 tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer 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
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 threads dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 485189 55779)
(symbols 48 38590 1)
(strings 32 137640 4402)
(string-bytes 1 4451964)
(vectors 16 63773)
(vector-slots 8 948631 40542)
(floats 8 296 541)
(intervals 56 1884 1420)
(buffers 1000 21))