From: Gemini Lasswell <gazally@runbox.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 32487@debbugs.gnu.org
Subject: bug#32487: 26.1.50; keyboard-quit while main thread blocked crashes Emacs
Date: Wed, 22 Aug 2018 07:39:35 -0700 [thread overview]
Message-ID: <87r2iqpis8.fsf@runbox.com> (raw)
In-Reply-To: <83o9dvd9sk.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 21 Aug 2018 18:22:19 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
> That's ample punishment for a buggy program, don't you think?
I thought so too at first, when I first came across this. But the
reality is that new bugs get added to Emacs all the time, despite our
best efforts, and the fact that C-g can't interrupt the thread
primitives raises the risk of new bugs being severe bugs.
If a user encounters a hanging bug in non-threaded Lisp, it's very
likely that she can recover from it with C-g, and continue using Emacs.
But if the user encounters a hanging bug in threaded Lisp, she will lose
her Emacs session.
Emacs is also a development environment, and it's a much less friendly
place to develop programs when it's easy for buggy programs to crash the
development environment. Obviously it's not hard to write Lisp that
makes Emacs unresponsive or unusable, if you're trying to do that. But
in the act of trying to write useful Lisp, it's been rare in my
experience. With the thread primitives it's much easier to do
unintentionally.
Most of the time when I write buggy Lisp that stops responding, I can
find out what the problem is by stopping it with C-g, using
toggle-debug-on-quit, restarting my problematic code, C-g again. This
doesn't work if the main thread is stuck in a thread primitive.
next prev parent reply other threads:[~2018-08-22 14:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-20 22:57 bug#32487: 26.1.50; keyboard-quit while main thread blocked crashes Emacs Gemini Lasswell
2018-08-21 15:22 ` Eli Zaretskii
2018-08-22 14:39 ` Gemini Lasswell [this message]
2018-08-22 15:06 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r2iqpis8.fsf@runbox.com \
--to=gazally@runbox.com \
--cc=32487@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).