Package: libgtk2-ruby1.8 Version: 0.19.3-2 Severity: normal The following program:
---------------------------------------- #!/usr/bin/ruby require 'gtk2' @window = Gtk::Window.new('Bogosity') @window.set_default_size(320, 240) @window.show def count() i = 0; loop { sleep 1; i += 1 } end @thread = Thread.new { count() } Gtk.main ---------------------------------------- does not properly block when no GTK+ input events are being received and the other thread is sleeping. It generates strace output (with strace -etrace=\!rt_sigprocmask) along the lines of the attached file; observe the repeated flips between select() and poll(), all with zero timeouts. Commenting out the @thread creation causes the GTK+ main loop to block (according to interactive strace) when no input events are coming to the window, and commenting out the Gtk.main and replacing it with << sleep 0.5; count() >> causes the Ruby threading engine to block when both threads are sleeping. Mixing the two causes a furious explosion of system calls. ---> Drake Wilson -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (990, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.29-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libgtk2-ruby1.8 depends on: ii libatk1-ruby1.8 0.19.3-2 ATK bindings for the Ruby language ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit ii libc6 2.10.2-7 Embedded GNU C Library: Shared lib ii libcairo2 1.8.8-2 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2.1 generic font configuration library ii libfreetype6 2.3.11-1 FreeType 2 font engine, shared lib ii libgdk-pixbuf2-ruby1.8 0.19.3-2 Gdk-Pixbuf 2 bindings for the Ruby ii libglib2.0-0 2.24.0-1 The GLib library of C routines ii libgtk2.0-0 2.20.0-3 The GTK+ graphical user interface ii libpango1-ruby1.8 0.19.3-2 Pango bindings for the Ruby langua ii libpango1.0-0 1.26.2-1 Layout and rendering of internatio ii libruby1.8 1.8.7.249-2 Libraries necessary to run Ruby 1. libgtk2-ruby1.8 recommends no packages. libgtk2-ruby1.8 suggests no packages. -- no debconf information
dpw-20100517-gtk-spin-1.strace.gz
Description: GNU Zip compressed data