Debian Bug report logs -
#491979
X server can return BadMatch to WM instead of BadWindow
Reported by: Joey Hess <joeyh@debian.org>
Date: Sun, 13 Jul 2008 00:36:02 UTC
Severity: normal
Tags: patch, upstream
Found in version 2:1.4.2-2
Fixed in version 2:1.6.99.903-1
Done: Julien Cristau <jcristau@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, Ben Hutchings <ben@decadent.org.uk>:
Bug#490601; Package ion3.
(full text, mbox, link).
Acknowledgement sent to Joey Hess <joeyh@debian.org>:
New Bug report received and forwarded. Copy sent to Ben Hutchings <ben@decadent.org.uk>.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Package: ion3
Version: 20080411-1
Severity: normal
If I log in from xdm, I get this on stderr once ion3 starts,
and the session crashes:
>> [828] X_GetProperty (20) 0xe0000f: BadMatch (invalid parameter attributes)
startx works ok.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.25-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages ion3 depends on:
ii debconf [debconf-2.0] 1.5.22 Debian configuration management sy
ii gnome-terminal [x-terminal-em 2.22.3-1 The GNOME 2 terminal emulator appl
ii libc6 2.7-12 GNU C Library: Shared libraries
ii libice6 2:1.0.4-1 X11 Inter-Client Exchange library
ii liblua5.1-0 5.1.3-1 Simple, extensible, embeddable pro
ii libsm6 2:1.0.3-2 X11 Session Management library
ii libx11-6 2:1.1.4-2 X11 client-side library
ii libxext6 2:1.0.4-1 X11 miscellaneous extension librar
ii xbase-clients 1:7.3+12 miscellaneous X clients - metapack
ii xterm [x-terminal-emulator] 235-1 X terminal emulator
Versions of packages ion3 recommends:
ii devscripts 2.10.33 scripts to make the life of a Debi
ii libwww-perl 5.812-1 WWW client/server library for Perl
ii xfonts-100dpi 1:1.0.0-4 100 dpi fonts for X
ii xfonts-75dpi 1:1.0.0-4 75 dpi fonts for X
-- debconf information excluded
--
see shy jo
[signature.asc (application/pgp-signature, inline)]
Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#490601; Package ion3.
(full text, mbox, link).
Acknowledgement sent to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list.
(full text, mbox, link).
Message #10 received at 490601@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Sat, Jul 12, 2008 at 08:34:11PM -0400, Joey Hess wrote:
> Package: ion3
> Version: 20080411-1
> Severity: normal
>
> If I log in from xdm, I get this on stderr once ion3 starts,
> and the session crashes:
>
> >> [828] X_GetProperty (20) 0xe0000f: BadMatch (invalid parameter attributes)
Is that from .xsession-errors? Do any other error messages appear
there?
> startx works ok.
Interesting...
Ben.
--
Ben Hutchings
Experience is directly proportional to the value of equipment destroyed.
- Carolyn Scheppner
[signature.asc (application/pgp-signature, inline)]
Information forwarded to debian-bugs-dist@lists.debian.org, Ben Hutchings <ben@decadent.org.uk>:
Bug#490601; Package ion3.
(full text, mbox, link).
Acknowledgement sent to Joey Hess <joeyh@debian.org>:
Extra info received and forwarded to list. Copy sent to Ben Hutchings <ben@decadent.org.uk>.
(full text, mbox, link).
Message #15 received at 490601@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Ben Hutchings wrote:
> On Sat, Jul 12, 2008 at 08:34:11PM -0400, Joey Hess wrote:
> > Package: ion3
> > Version: 20080411-1
> > Severity: normal
> >
> > If I log in from xdm, I get this on stderr once ion3 starts,
> > and the session crashes:
> >
> > >> [828] X_GetProperty (20) 0xe0000f: BadMatch (invalid parameter attributes)
>
> Is that from .xsession-errors? Do any other error messages appear
> there?
Yes. I have it set -x so you can see ion starting just prior.
I have one log with some more:
[825] X_GetProperty (20) 0xe0000f: BadMatch (invalid parameter attributes)
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 85 requests (83 known processed) with 0 events remaining.
XIO: fatal IO error 4 (Interrupted system call) on X server ":0.0"
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X server ":0.0"
after 170 requests (140 known processed) with 0 events remaining.
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 7779 requests (7771 known processed) with 27 events remaining.
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 22 requests (21 known processed) with 0 events remaining.
This looks like it could just be xterm being killed by X stopping when
the WM crashed though.
--
see shy jo
[signature.asc (application/pgp-signature, inline)]
Bug 490601 cloned as bug 491979.
Request was from Ben Hutchings <ben@decadent.org.uk>
to control@bugs.debian.org.
(Tue, 22 Jul 2008 22:54:06 GMT) (full text, mbox, link).
Bug reassigned from package `ion3' to `xorg-server'.
Request was from Ben Hutchings <ben@decadent.org.uk>
to control@bugs.debian.org.
(Tue, 22 Jul 2008 22:54:08 GMT) (full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, Debian X Strike Force <debian-x@lists.debian.org>:
Bug#491979; Package xorg-server.
(full text, mbox, link).
Acknowledgement sent to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian X Strike Force <debian-x@lists.debian.org>.
(full text, mbox, link).
Message #28 received at 491979@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
-------- Forwarded Message --------
From: Ben Hutchings <ben@decadent.org.uk>
To: Tuomo Valkonen <tuomov@iki.fi>
Cc: Ion general <ion-general@lists.berlios.de>
Subject: Re: Bug#490601: fails with many xio errors when started from
xdm
Date: Mon, 21 Jul 2008 01:00:41 +0100
I got a report of a weird and unreproducible error in Ion3 startup:
http://bugs.debian.org/490601
BadMatch is not a documented error code for XGetWindowProperty which
sends X_GetProperty requests. However, the implementation in Xorg
appears to return BadMatch if and only if it's passed a reference to a
drawable that isn't a window:
http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=blob;hb=8822110d7d6b684f373fc883aeb7cab9734e9ddb;f=dix/dixutils.c#l197
I don't understand how the server coordinates window changes with the
WM. Is it possible that a window can be completely deleted before the
WM has handled it? In that case there is presumably a race condition
where a window could disppear and another drawable be created with the
same id.
This seems like a bug in Xorg, but we presumably need to work around it.
The obvious patch is below.
Ben.
--- ion3.orig/ioncore/rootwin.c
+++ ion3/ioncore/rootwin.c
@@ -58,10 +58,11 @@
static char msg[128], request[64], num[32];
/* Just ignore bad window and similar errors; makes the rest of
- * the code simpler.
+ * the code simpler. Due to a Xorg bug, window lookups may fail
+ * with BadMatch instead of BadWindow.
*/
if((ev->error_code==BadWindow ||
- (ev->error_code==BadMatch && ev->request_code==X_SetInputFocus) ||
+ ev->error_code==BadMatch ||
(ev->error_code==BadDrawable && ev->request_code==X_GetGeometry)) &&
ignore_badwindow)
return 0;
--- END ---
--
Ben Hutchings
Usenet is essentially a HUGE group of people passing notes in class.
- Rachel Kadel, `A Quick Guide to Newsgroup Etiquette'
[signature.asc (application/pgp-signature, inline)]
Changed Bug title to `X server can return BadMatch to WM instead of BadWindow' from `fails with many xio errors when started from xdm'.
Request was from Ben Hutchings <ben@decadent.org.uk>
to control@bugs.debian.org.
(Tue, 22 Jul 2008 23:48:03 GMT) (full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, Debian X Strike Force <debian-x@lists.debian.org>:
Bug#491979; Package xorg-server.
(full text, mbox, link).
Acknowledgement sent to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian X Strike Force <debian-x@lists.debian.org>.
(full text, mbox, link).
Message #35 received at 491979@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
I would suggest the following change. This is untested because the
BadWindow or BadMatch error is dependent on a race condition if I
understand correctly. But it's "obviously correct". :-)
Ben.
--- xorg-server-1.4.2.orig/dix/dixutils.c
+++ xorg-server-1.4.2/dix/dixutils.c
@@ -245,7 +245,7 @@
{
int rc;
rc = dixLookupDrawable((DrawablePtr*)pWin, id, client, M_WINDOW, access);
- return (rc == BadDrawable) ? BadWindow : rc;
+ return (rc == BadDrawable || rc == BadMatch) ? BadWindow : rc;
}
_X_EXPORT int
--
Ben Hutchings
Usenet is essentially a HUGE group of people passing notes in class.
- Rachel Kadel, `A Quick Guide to Newsgroup Etiquette'
[signature.asc (application/pgp-signature, inline)]
Added tag(s) upstream and patch.
Request was from Julien Cristau <jcristau@debian.org>
to control@bugs.debian.org.
(Sat, 05 Jun 2010 14:45:03 GMT) (full text, mbox, link).
Reply sent
to Julien Cristau <jcristau@debian.org>:
You have taken responsibility.
(Sat, 05 Jun 2010 18:33:05 GMT) (full text, mbox, link).
Notification sent
to Joey Hess <joeyh@debian.org>:
Bug acknowledged by developer.
(Sat, 05 Jun 2010 18:33:05 GMT) (full text, mbox, link).
Message #44 received at 491979-done@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Version: 2:1.6.99.903-1
On Wed, Jul 23, 2008 at 01:05:53 +0100, Ben Hutchings wrote:
> I would suggest the following change. This is untested because the
> BadWindow or BadMatch error is dependent on a race condition if I
> understand correctly. But it's "obviously correct". :-)
>
> Ben.
>
> --- xorg-server-1.4.2.orig/dix/dixutils.c
> +++ xorg-server-1.4.2/dix/dixutils.c
> @@ -245,7 +245,7 @@
> {
> int rc;
> rc = dixLookupDrawable((DrawablePtr*)pWin, id, client, M_WINDOW, access);
> - return (rc == BadDrawable) ? BadWindow : rc;
> + return (rc == BadDrawable || rc == BadMatch) ? BadWindow : rc;
> }
>
> _X_EXPORT int
>
Fixed independently in
http://cgit.freedesktop.org/xorg/xserver/commit?id=f04fe06ae244b851b38be824b1a80f2f8a030591
following http://bugs.freedesktop.org/show_bug.cgi?id=23562
Closing as fixed in 1.7.
Cheers,
Julien
[signature.asc (application/pgp-signature, inline)]
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Mon, 12 Jul 2010 07:40:15 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Sun Jul 30 21:53:41 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.