[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25279: 26.0.50; Slowdown/crash on certain characters
From: |
Richard Copley |
Subject: |
bug#25279: 26.0.50; Slowdown/crash on certain characters |
Date: |
Tue, 21 Feb 2017 20:05:28 +0000 |
> From "runemacs -Q":
> Type "M-x insert-char RET MUSIC SPC FLAT SPC SIGN RET" (or whatever
> character).
> Observe that moving point past the character is very slow.
> In quick succession:
> 1. Type C-f to move point past the character.
> 2. Type C-g to signal quit.
Here's how to make Emacs hang without the need to uninstall any fonts,
on Windows (not reproducible on GNU/Linux).
1. Type "M-x view-hello-file" (don't press return).
2. In quick succession, type "C-m" and then "C-g". *
(* It is faster to type "C-m C-g" than "RET C-g".)
On 27 December 2016 at 14:15, Eli Zaretskii wrote:
> I think I see what's happening: it's a deadlock. When you type C-g,
> the input thread (which receives all keyboard input from Windows),
> sets the quit-flag, then attempts to send the C-g character to the
> main thread. To send the message, it tries to enter critical section,
> and waits for it. Meanwhile, the main thread tries to tell the input
> thread to draw the scroll bar, and calls SendMessage for that.
> SendMessage waits for the input thread to receive the message, but the
> input thread is stuck waiting for the main thread to exit the critical
> section.
Eli, should I retitle this bug to "26.0.50; calling SendMessage inside
critical section causes deadlock", or close this bug as a duplicate of
the other "slow fonts on Windows" bugs and file a new report about
the hanging?
Emacs master has a pronounced tendency to hang in various other
circumstances too.