Bug#503626: libglib2.0-0: errornous poll call with many watchers

Marc Lehmann debian-reportbug at plan9.de
Mon Oct 27 02:50:00 UTC 2008


Package: libglib2.0-0
Version: 2.16.3-2
Severity: normal


When there are many watchers on the same fd (more than the current ulimit
== OPEN_MAX on linux), then enters an endless loop where it prints:

   GLib-WARNING **: poll(2) failed due to: Invalid argument.

The reason is that poll indeed fails with EINVAL, e.g.:

   http://ue.tst.eu/deceb9a14aa76c380b09b469ecc448b8.txt

posix limits the number of pollfd structures one can pass to poll, and
glib exceeds that limit when there are duplicate watchers.

While this example is pretty synthetic, in practise it is often the case
that one has two watchers on the same fd (e.g. read and write, or just
temporarily), and this makes glib fail less than gracefully when one is
near the resource limit.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-etchnhalf.1-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libglib2.0-0 depends on:
hi  libc6                         2.7-12     GNU C Library: Shared libraries
ii  libpcre3                      7.6-2      Perl 5 Compatible Regular Expressi
ii  libselinux1                   2.0.59-1   SELinux shared libraries

Versions of packages libglib2.0-0 recommends:
pn  libglib2.0-data               <none>     (no description available)

-- no debconf information






More information about the pkg-gnome-maintainers mailing list