2010-10-22 04:04:30 |
Damon Lynch |
bug |
|
|
added bug |
2011-02-03 10:36:56 |
Antoine Martin |
bug watch added |
|
https://bugzilla.gnome.org/show_bug.cgi?id=640738 |
|
2011-02-07 13:22:43 |
Brian Rogers |
bug |
|
|
added subscriber Brian Rogers |
2011-03-12 03:23:14 |
IKT |
bug task added |
|
pygtk |
|
2011-03-12 03:35:24 |
IKT |
pygtk (Ubuntu): status |
New |
Confirmed |
|
2011-04-21 21:15:52 |
Cas |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2011-04-21 23:12:50 |
Cas |
bug |
|
|
added subscriber Cas |
2011-04-22 00:04:29 |
Martin Spacek |
bug |
|
|
added subscriber Martin Spacek |
2011-04-26 07:15:52 |
Chris Halse Rogers |
summary |
100% CPU usage when calling a child process from a python script |
SRU: 100% CPU usage when calling a child process from a python script |
|
2011-04-26 08:52:52 |
Chris Halse Rogers |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2011-04-26 08:52:54 |
Chris Halse Rogers |
pygtk (Ubuntu): assignee |
|
Chris Halse Rogers (raof) |
|
2011-04-26 10:05:40 |
Chris Halse Rogers |
nominated for series |
|
Ubuntu Natty |
|
2011-04-26 10:36:09 |
Chris Halse Rogers |
description |
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 |
== 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 |
|
2011-04-26 10:37:48 |
Chris Halse Rogers |
attachment added |
|
Simple testcase https://bugs.launchpad.net/ubuntu/+source/pygtk/+bug/664920/+attachment/2089709/+files/pygtk-signal-testcase.py |
|
2011-04-26 10:39:13 |
Chris Halse Rogers |
attachment added |
|
Debdiff for SRU package. https://bugs.launchpad.net/ubuntu/+source/pygtk/+bug/664920/+attachment/2089711/+files/cherry-pick-cpu-usage-fix.debdiff |
|
2011-04-26 10:40:20 |
Chris Halse Rogers |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2011-04-26 10:40:23 |
Chris Halse Rogers |
pygtk (Ubuntu): assignee |
Chris Halse Rogers (raof) |
|
|
2011-04-26 11:45:47 |
Scott Kitterman |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2011-04-26 11:45:59 |
Scott Kitterman |
bug task added |
|
pygtk (Ubuntu Natty) |
|
2011-04-28 23:12:39 |
Clint Byrum |
nominated for series |
|
Ubuntu Lucid |
|
2011-04-28 23:12:39 |
Clint Byrum |
bug task added |
|
pygtk (Ubuntu Lucid) |
|
2011-04-28 23:12:39 |
Clint Byrum |
nominated for series |
|
Ubuntu Maverick |
|
2011-04-28 23:12:39 |
Clint Byrum |
bug task added |
|
pygtk (Ubuntu Maverick) |
|
2011-05-03 06:02:04 |
Martin Pitt |
pygtk (Ubuntu Natty): status |
Confirmed |
Fix Committed |
|
2011-05-03 06:02:07 |
Martin Pitt |
bug |
|
|
added subscriber SRU Verification |
2011-05-03 06:02:09 |
Martin Pitt |
tags |
amd64 apport-bug maverick |
amd64 apport-bug maverick verification-needed |
|
2011-05-03 06:23:21 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/natty-proposed/pygtk |
|
2011-05-04 15:37:24 |
Jean-Baptiste Lallement |
tags |
amd64 apport-bug maverick verification-needed |
amd64 apport-bug maverick verification-done |
|
2011-05-10 06:09:18 |
Launchpad Janitor |
pygtk (Ubuntu Natty): status |
Fix Committed |
Fix Released |
|
2011-05-10 06:10:03 |
Martin Pitt |
pygtk (Ubuntu): status |
Confirmed |
Fix Released |
|
2011-05-10 06:18:53 |
Martin Spacek |
pygtk (Ubuntu Maverick): status |
New |
Confirmed |
|
2011-05-25 18:26:27 |
Stéphane Graber |
pygtk (Ubuntu Maverick): status |
Confirmed |
Fix Committed |
|
2011-05-26 17:05:53 |
Benjamin Drung |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2011-05-30 05:39:39 |
Martin Pitt |
tags |
amd64 apport-bug maverick verification-done |
amd64 apport-bug maverick |
|
2011-05-30 05:39:40 |
Martin Pitt |
tags |
amd64 apport-bug maverick |
amd64 apport-bug maverick verification-needed |
|
2011-05-30 06:27:14 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/maverick-proposed/pygtk |
|
2011-09-19 21:37:10 |
Ubuntu Foundations Team Bug Bot |
tags |
amd64 apport-bug maverick verification-needed |
amd64 apport-bug maverick testcase verification-needed |
|
2014-01-26 07:29:29 |
Adolfo Jayme Barrientos |
pygtk (Ubuntu Lucid): status |
New |
Won't Fix |
|
2014-01-26 07:29:32 |
Adolfo Jayme Barrientos |
pygtk (Ubuntu Maverick): status |
Fix Committed |
Won't Fix |
|