Created attachment 464883 [details] running this code causes pygtk/twisted to use 100% cpu +++ This bug was initially created as a clone of Bug #562825 +++ Test case in attachment immediately shows the problem. This bug affects all versions of Fedora since at least Fedora 12, not just Fedora 12. I am creating this new bug against Fedora 14 since my request to re-assign the original bug seemed to have gone to /dev/null
New upstream bug (assuming this is a twisted bug and not pygtk/glib): http://twistedmatrix.com/trac/ticket/4829
Thanks to some great investigative work from exarkun at twisted-matrix.com, the bug has been found in pygtk and a patch is available: https://bugzilla.gnome.org/attachment.cgi?id=179466&action=edit
Correct me if I am wrong but it would appear that Fedora maintains its own tree of PyGTK for each release: http://www.mail-archive.com/pygtk@daa.com.au/msg20008.html So whoever maintains PyGTK for Fedora will have to apply the patch above to Fedora 13, 14 and upcoming 15... (it's a shame bugzilla doesn't let you select more than one version)
Still no reply, so I went off and did my own fixed RPMs for fedora 14 x86_64: http://winswitch.org/dists/rpm/Fedora/14/x86_64/ http://winswitch.org/dists/rpm/Fedora/14/noarch/ This fixes the bug just fine. I may provide other arch/versions if I find the time - but this should be the distro's job - hint, hint. I am attaching the patch to the spec file and the pygtk patch that goes with it (straight copy from debian). Please APPLY...
Created attachment 477006 [details] the patch which fixes the pygtk bug
Created attachment 477007 [details] patch for the spec file
Created attachment 477280 [details] this patch is for Fedora 15
Created attachment 477281 [details] adds the patch to the fedora 15 spec file
I would really like Fedora not to be the last distro to fix this bug... But now that the bug has been fixed or at least "confirmed" by everyone else, this looks increasingly unlikely. :( If providing a test case, a fix, patches for the spec files and sample RPMs is not enough... I really don't know what is, but feel free to let me know what I should have done better.
Antoine, I think it's just unfortunate that this is showing up on pygobject2, which is possibly going to be deprecated in the GNOME 3 stack. The maintainer is probably swamped with GNOME 3 related work and this is too low priority to be handled. I'll forward the bug to the devel mailing list, where a provenpackager may notice and help applying the patch. Do you know if this landed in any upstream release?
Yes, the [really trivial and obvious] patch has been merged into PyGTK 2.23 (for release in 2.24). Unfortunately, PyGTK does not do point releases, even for "stable" versions like 2.22.0, let alone dev snapshots like 2.17 used in Fedora 14. So there will never be an upstream version named 2.22.1 (for convenience, I made one here: http://winswitch.org/src/pygtk-2.22.1.tar.bz2) As per comment no 3: things would be easier for distros to fix if they shared a common source tree as opposed to an unmaintained snapshot of a development version... (currently, each distro is having to duplicate all the work - even for a trivial patch like this one)
2.5 months on, fix still not applied. :( FYI: Gentoo: 0 days (~unstable) FreeBSD: 15 days Ubuntu: almost 4 months Fedora: 2.5 months and counting
This bug is filed against pygobject2, while the patches are for pygtk2, reassigning.
Which patch is correct? The one in comment 2 or the one attached here https://bugzilla.redhat.com/attachment.cgi?id=477006 ?
The one in comment 2 is the upstream patch for GTK ~2.22 and above - use this one for Fedora 15 (rawhide has/will get the fix from upstream). Older versions of Fedora are still stuck on GTK ~2.17, so they need the other patch (same patch as applied by Debian last year)
For 2.17, it's probably better to simply apply both http://git.gnome.org/browse/pygtk/commit/?id=f4cc1453896a891b8197a4ddbc1b7b9706c86996 and http://git.gnome.org/browse/pygtk/commit/?id=4cbd3c031289775f365c247f949d91facac4ba82
I didn't think the second one applied to 2.17, but if it does apply then yes you do want it too.
It does if you apply them in sequence :-)
pygtk2-2.24.0-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/pygtk2-2.24.0-1.fc15
pygtk2-2.17.0-8.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/pygtk2-2.17.0-8.fc14
pygtk2-2.17.0-8.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/pygtk2-2.17.0-8.fc13
Package pygtk2-2.24.0-1.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing pygtk2-2.24.0-1.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/pygtk2-2.24.0-1.fc15 then log in and leave karma (feedback).
I have tested the F14 x86_64 build and left a comment. (Fixes the issue as expected) I have been using the fixed RPMs for a while on F14 (see comment 4 for location), so although pushing a fixed pygtk2 package for F15 is welcome news, most users will be stuck with the broken version available in F13 and F14 until it gets pushed there too.. As for the cumulative patching: IIRC, the code fixed in the second patch doesn't actually fire until F15 because the code paths it fixes are #ifdefed.
Antoine, if you have a FAS account, it would really help if you logged in when providing feedback on the update itself. While we do appreciate feedback in any form, in order to push builds officially, we need two logged in users to say it works (although one has to be a QA proventester).
pygtk2-2.24.0-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
This problem has existed since Fedora 12, I don't understand why pushing a fix to Fedora 15 (not even released yet) means the bug is "CLOSED" when Fedora 13 and 14 are still affected.
For whatever its worth, this still needs more people to test it on F13 and F14. If this bug affects you on either, please log in to the updates system using your FAS account: https://admin.fedoraproject.org/updates/login And then add karma to one of the updates: F13: https://admin.fedoraproject.org/updates/pygtk2-2.17.0-9.fc13 F14: https://admin.fedoraproject.org/updates/pygtk2-2.17.0-9.fc14 Without more positive feedback, this fix cannot ever be released.
IMHO, the karma thing for pushing updates is good *idea*, but when it blocks trivial one-liners that anyone who is capable of reading the code can see is simply broken... then clearly it is not serving the users well. The clue should be that: upstream applied it, debian applied it, gentoo applied it, freebsd applied it, etc.. Also, I very much doubt that all bugs go through this tedious process: I have seen enough "potential" kernel bugs being patched and I very much doubt these all had a test case and proven testers agreeing on each particular fix (since they generally can't be tested individually without a test case). I'm just saying, I'm not expecting anything to change and this comment will be probably be dismissed and /dev/nulled It's just that as a Fedora user, this saddens me because I believe we can do better than this. It looks like F15 will be released and people will have moved on by the time this is pushed out, which means that Fedora will have carried a trivial known bug for well over a year.
And if it weren't for the karma system, the F13 update would have gone out even more broken than before. I messed up on the initial builds for F13 (-8), but its fixed in -9. Sadly, people felt like commenting that stuff was broken but never bothered to comment after I fixed it.
If you read my comment above, I never claimed that the karma system was not useful - in fact I said the opposite: "a good idea", I just said that it is "not serving the users well" when "Fedora will have carried a trivial known bug for over a year". I fully expected my comment to be dismissed on other grounds though, the fact that the build was broken is only very weakly related to the point I was trying to make. I will take no further part in this discussion.
pygtk2-2.17.0-9.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.