[Bug 664920] Re: SRU: 100% CPU usage when calling a child process from a python script

Antoine Martin antoine at nagafix.co.uk
Thu May 26 08:06:00 UTC 2011


For lucid, you need a different patch.

Probably one of those if it is using 2.17 rather than 2.2x:
http://patch-tracker.debian.org/patch/series/view/pygtk/2.17.0-4/60_pygtk-wakeupfd-fix.patch
https://bugzilla.redhat.com/attachment.cgi?id=477006&action=diff

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is a direct subscriber.
https://bugs.launchpad.net/bugs/664920

Title:
  SRU: 100% CPU usage when calling a child process from a python script

Status in PyGTK: GTK+ for Python:
  Unknown
Status in “pygtk” package in Ubuntu:
  Fix Released
Status in “pygtk” source package in Lucid:
  New
Status in “pygtk” source package in Maverick:
  Fix Committed
Status in “pygtk” source package in Natty:
  Fix Released

Bug description:
  == Impact ==

  pygtk apps which handle signals busy-loop in the glib main loop
  dispatch, causing 100% CPU usage after a signal is received.  This
  commonly occurs when spawned child processes exit.

  == TEST CASE ==

  A simple testcase (pygtk-signal-testcase.py) is attached.  To trigger
  the bug, run the testcase and send the process SIGCHLD.  When run with
  pygtk 2.22-0ubuntu1 the test process will now consume 100% CPU.

  == Regression Potential ==

  PyGTK is core infrastructure, so the potential impact of a regression
  is high.  However, the patch is small and clearly correct, and the
  file descriptor being read from is nonblocking, so it should not cause
  application hangs even if it tries to read more bytes than are there.

  
  Original bugreport follows:
  When creating a child process from a python script that uses pygtk 2.21, such subprocess.check_call(), 100% of the CPU  is used (technically, 100% of the core the python interpreter is using).

  If the creation of the child processes are removed, the script runs as
  expected.

  According to user exarkun on the #python IRC channel, the problem may
  be manifesting when the child process exits. It may be related to a
  bug  that was fixed in 9.10, but broken in 9.04. If that is the case,
  this is the relevant bug report:
  https://bugzilla.gnome.org/show_bug.cgi?id=481569

  The code in which I noticed this problem is in the videometadata.py
  module of Rapid Photo Downloader:
  http://bazaar.launchpad.net/~dlynch3/rapid/trunk/annotate/head%3A/rapid/videometadata.py#L189

  ProblemType: Bug
  DistroRelease: Ubuntu 10.10
  Package: python-gtk2 2.21.0-0ubuntu1
  ProcVersionSignature: Ubuntu 2.6.35-22.35-generic 2.6.35.4
  Uname: Linux 2.6.35-22-generic x86_64
  Architecture: amd64
  Date: Thu Oct 21 22:51:42 2010
  InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
  ProcEnviron:
   PATH=(custom, user)
   LANG=en_US.utf8
   SHELL=/bin/bash
  SourcePackage: pygtk



More information about the Ubuntu-sponsors mailing list