GNU bug report logs - #22214
25.0.50; lock up with gui dialogs and clipmon-mode

Previous Next

Package: emacs;

Reported by: Joseph Mingrone <jrm <at> ftfl.ca>

Date: Sun, 20 Dec 2015 06:28:01 UTC

Severity: normal

Tags: moreinfo

Found in version 25.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: Joseph Mingrone <jrm <at> ftfl.ca>, Eli Zaretskii <eliz <at> gnu.org>, 22214 <at> debbugs.gnu.org, Brian Burns <bburns.km <at> gmail.com>
Subject: bug#22214: 25.0.50; lock up with gui dialogs and clipmon-mode
Date: Mon, 23 May 2022 10:02:30 +0200
Po Lu <luangruo <at> yahoo.com> writes:

> Joseph Mingrone <jrm <at> ftfl.ca> writes:
>
>> I stopped using clipmon shortly after this bug was reported, but I just
>> cloned the repository and ran
>>
>> % emacs -Q
>> (load "/path/to/clipmon/clipmon.el")
>> (run-at-time nil 2 (lambda () (gui-get-primary-selection)))
>> (menu-set-font)
>>
>> When I dismissed the dialog box, sometimes things were fine, but other
>> times, Emacs started to use 100% CPU and would not respond to input.
>> Now I am able to kill the run-away emacs process and regain control of
>> the system.  Below is information about my current installation.
>
> Does this fix the problem?

Joseph, did you have a chance to try Po's patch?

>
> diff --git a/src/xselect.c b/src/xselect.c
> index 6d167c0b6f..eb297e9cba 100644
> --- a/src/xselect.c
> +++ b/src/xselect.c
> @@ -1255,7 +1255,9 @@ x_get_foreign_selection (Lisp_Object
> selection_symbol, Lisp_Object target_type,
>    int nsecs = (timeout % 1000) * 1000000;
>    TRACE1 ("  Start waiting %"PRIdMAX" secs for SelectionNotify", secs);
>    wait_reading_process_output (secs, nsecs, 0, false,
> -			       reading_selection_reply, NULL, 0);
> +			       /* Don't run any timers, since this
> +				  code isn't reentrant.  */
> +			       reading_selection_reply, NULL, -1);
>    TRACE1 ("  Got event = %d", !NILP (XCAR (reading_selection_reply)));
>
>    if (NILP (XCAR (reading_selection_reply)))

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 3 years and 71 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.