GNU bug report logs -
#38035
27.0.50; Trivial errors in process filters can render Emacs unusable
Previous Next
Reported by: Lars Ingebrigtsen <larsi <at> gnus.org>
Date: Sat, 2 Nov 2019 17:55:01 UTC
Severity: normal
Found in version 27.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
If you eval the following, your Emacs will become unusable and you'll
have to kill it (so don't eval it):
(let ((process (start-process
"foo" (get-buffer-create "*foo*")
"bash" "-c" "while true; do echo foo; sleep 1; done")))
(set-process-filter
process
(lambda (&rest _)
(error))))
The reason for this is that when signalling an error from a process
filter, Emacs messages the error message and then seems to sleep for a
second? I haven't investigated the code yet.
This is something that has bit me more than a few times when working
with process filters (i.e., making a syntax error and then having Emacs
blow up on me).
I'm not sure what solution would be best. I see two obvious things we
could do: Remove the process filter, so that it doesn't trigger again.
Or -- remove the one-second sleep, which would allow the user to `M-x
list-processes' and kill the offending process.
In GNU Emacs 27.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)
of 2019-11-01 built on marnie
Repository revision: eda98211e31ed969823c1048b3cde635e08eebe5
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux 10 (buster)
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 3 years and 176 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.