all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.





  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

* 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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.