GNU bug report logs - #16737
24.3.50; Yank causes hang

Previous Next

Package: emacs;

Reported by: Sujith Manoharan <sujith <at> msujith.org>

Date: Thu, 13 Feb 2014 03:49:02 UTC

Severity: important

Tags: moreinfo, patch

Merged with 17026, 17101, 17172, 19320, 20283

Found in versions 24.3.50, 24.4, 25.0.50

Done: Tassilo Horn <tsdh <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #55 received at 16737 <at> debbugs.gnu.org (full text, mbox):

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Tom Tromey <tromey <at> redhat.com>, 16737 <at> debbugs.gnu.org,
 Alex Bennée <alex.bennee <at> linaro.org>,
 Nicolas Richard <theonewiththeevillook <at> yahoo.fr>
Subject: Re: Timed out waiting for reply from selection owner
Date: Wed, 25 Jun 2014 20:28:18 +0200
Hi.

25 jun 2014 kl. 18:04 skrev Stefan Monnier <monnier <at> iro.umontreal.ca>:

> forcemerge 17026 16737
> thanks
> 
> Do you guys still experience those hangs?
> Any hope of getting a vaguely reproducible recipe?
> 
> Jan, is there some debugging code we could add somewhere around the
> *select code which could help us track down the source of the problem?

If it times out, it is because we don't get the PropertyNotify we expect.
There is some TRACE one can turn on in xselect.c by defining TRACE_SELECTION.

But we should add something like this (totally untested, not even compiled):

=== modified file 'src/xselect.c'
--- src/xselect.c	2014-01-01 07:43:34 +0000
+++ src/xselect.c	2014-06-25 18:27:16 +0000
@@ -1144,8 +1144,19 @@
 {
   struct prop_location *rest;
 
+  fprintf (stderr, "Got property notify for %s, %s, %lu %p\n",
+           (event->state == PropertyDelete ? "deletion" : "change"),
+           XGetAtomName (event->display, event->atom),
+           (unsigned long)event->window,
+           event-display);
+
   for (rest = property_change_wait_list; rest; rest = rest->next)
     {
+      fprintf (stderr, "Check property notify against %s, %s, %lu %p\n",
+               (rest->desired_state == PropertyDelete ? "deletion" : "change"),
+               XGetAtomName (rest->display, rest->atom),
+               (unsigned long)rest->window,
+               rest->display);
       if (!rest->arrived
 	  && rest->property == event->atom
 	  && rest->window == event->window
@@ -1166,6 +1177,7 @@
 	  return;
 	}
     }
+  fprintf (stderr, "No property match\n");
 }
 
 	Jan D.





This bug report was last modified 9 years and 244 days ago.

Previous Next


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