Debian Bug report logs - #491979
X server can return BadMatch to WM instead of BadWindow

version graph

Package: xorg-server; Maintainer for xorg-server is Debian X Strike Force <debian-x@lists.debian.org>;

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

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: Joey Hess <joeyh@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: fails with many xio errors when started from xdm
Date: Sat, 12 Jul 2008 20:34:11 -0400
[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):

From: Ben Hutchings <ben@decadent.org.uk>
To: Joey Hess <joeyh@debian.org>, 490601@bugs.debian.org
Subject: Re: Bug#490601: fails with many xio errors when started from xdm
Date: Sun, 13 Jul 2008 22:22:01 +0100
[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):

From: Joey Hess <joeyh@debian.org>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: 490601@bugs.debian.org
Subject: Re: Bug#490601: fails with many xio errors when started from xdm
Date: Sun, 13 Jul 2008 17:44:33 -0400
[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)]

Noted your statement that Bug has been forwarded to https://lists.berlios.de/pipermail/ion-general/2008-July/002074.html. Request was from Ben Hutchings <ben@decadent.org.uk> to control@bugs.debian.org. (Sun, 20 Jul 2008 23:24:03 GMT) (full text, mbox, link).


Forwarded-to-address changed from https://lists.berlios.de/pipermail/ion-general/2008-July/002074.html to https://lists.berlios.de/pipermail/ion-general/2008-July/002075.html. Request was from Ben Hutchings <ben@decadent.org.uk> to control@bugs.debian.org. (Mon, 21 Jul 2008 21:33:04 GMT) (full text, mbox, link).


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):

From: Ben Hutchings <ben@decadent.org.uk>
To: 491979@bugs.debian.org
Subject: [Fwd: Re: Bug#490601: fails with many xio errors when started from xdm]
Date: Wed, 23 Jul 2008 00:45:34 +0100
[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):

From: Ben Hutchings <ben@decadent.org.uk>
To: 491979@bugs.debian.org
Subject: Re: X server can return BadMatch to WM instead of BadWindow
Date: Wed, 23 Jul 2008 01:05:53 +0100
[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)]

Removed annotation that Bug had been forwarded to https://lists.berlios.de/pipermail/ion-general/2008-July/002075.html. Request was from Ben Hutchings <womble@decadent.org.uk> to control@bugs.debian.org. (Thu, 24 Jul 2008 15:15:06 GMT) (full text, mbox, link).


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):

From: Julien Cristau <jcristau@debian.org>
To: Ben Hutchings <ben@decadent.org.uk>, 491979-done@bugs.debian.org
Subject: Re: Bug#491979: X server can return BadMatch to WM instead of BadWindow
Date: Sat, 5 Jun 2010 20:28:23 +0200
[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.