Bug#550352: message "firefox-bin(pid) Gdk-WARNING **: XID collision, trouble ahead" fills .xsession-errors
Dave Witbrodt
dawitbro at sbcglobal.net
Tue Mar 16 04:32:09 UTC 2010
Package: libgtk2.0-0
Version: 2.19.7-1
Severity: normal
I've been getting '.xsession-errors' files growing to tens of MBs in
size, with hundreds of thousands of lines with the "XID collision"
warning for many months now. This greatly interferes with obtaining
meaningful error messages from that file when other software is having
problems!
I grew tired of waiting for the (long-awaited) GTK+ pixbuf fix, and
modified the gtk+2.0 sources with a workaround that decreases the spam
to '.xsession-errors' to once every thousand triggers. I've asked
'reportbug' to attach a patch (using the "-A" option), but if that fails
I'll try posting the patch again with a followup message.
This patch is NOT a bug fix; it is only a melioration of a kind of
denial-of-service attack against .xsession-errors.
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (990, 'unstable'), (350, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.34-rc1-git.100315.desktop.kms (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
-------------- next part --------------
--- gtk+2.0-2.19.7/gdk/x11/gdkxid.c 2009-12-18 21:54:50.000000000 -0500
+++ gtk+2.0-2.19.7/gdk/x11/gdkxid.c 2010-03-15 23:31:57.000000000 -0400
@@ -58,7 +58,15 @@
(GEqualFunc) gdk_xid_equal);
if (g_hash_table_lookup (display_x11->xid_ht, xid))
- g_warning ("XID collision, trouble ahead");
+ {
+ static unsigned long int dw_num_collisions = 0;
+
+ if (dw_num_collisions++ % 1000 == 0)
+ {
+ unsigned long int num_thousands = (int) (dw_num_collisions / 1000);
+ g_warning ("XID collisions: %lu thousands", num_thousands);
+ }
+ }
g_hash_table_insert (display_x11->xid_ht, xid, data);
}
More information about the pkg-gnome-maintainers
mailing list