Bug 1138372
| Summary: | GtkGrid top-attach property not valid | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Giuseppe Scrivano <gscrivan> | ||||||
| Component: | pygobject3 | Assignee: | Matthew Barnes <mbarnes> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||||
| Severity: | urgent | Docs Contact: | |||||||
| Priority: | urgent | ||||||||
| Version: | 7.1 | CC: | codong, crobinso, dyuan, juzhou, lersek, lmiksik, mzhan, tpelka, tzheng, vbenes | ||||||
| Target Milestone: | rc | Keywords: | TestBlocker | ||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | pygobject3-3.8.2-5.el7 | Doc Type: | Bug Fix | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2015-03-05 13:20:44 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
|
Description
Giuseppe Scrivano
2014-09-04 16:28:07 UTC
Created attachment 935285 [details]
reproducer
*** Bug 1139550 has been marked as a duplicate of this bug. *** $ git log --reverse --oneline b0ea45863df9a89588cb99a27332a5f44178e861^.. \
-- gtk/gtkgrid.c \
| cat -n
1 b0ea458 grid: Fix access to grid->priv member
2 5e1a06d GtkGrid: Tweak size allocation
3 cc86a7b Add gtk_grid_remove_{row,column}
4 627685e GtkGrid: Support baseline alignment in GtkGrid
5 ebbc779 GtkGrid: Add missing Since docs
6 06c8e8f docs: fix some typos in newly introduced methods
7 13858fd GtkGrid: Undo a size allocation tweak
8 0899ef7 gtk: Use new macros for defining private data
I think there has been an attempt to fix this bug in upstream. See commit #2 above. RHEL7 doesn't have commit #2; the last commit it has is commit #1.
However, commit #2 seems to have broken other things, hence it was reverted in commit #7. Fedora 20 is probably a snapshot / fork from between commit #2 and commit #7.
In other words, Fedora 20 probably has a temporary fix that turned out to be wrong in the longer term. Both RHEL-7 and upstream have no (long term) fix for this issue.
I extracted the gtkgrid.c file from both the F20 and RHEL7 SRPMs (@ dist-git commits 09cb1783 and e4a95081, respectively), and compared them against various versions of the file in the upstream tree. $ git show b0ea458:gtk/gtkgrid.c | diff -u - ~/tmp/rhel7-gtkgrid.c <nothing> $ git show 0899ef7:gtk/gtkgrid.c | diff -u - ~/tmp/f20-gtkgrid.c <nothing> So, I was wrong, probably; apparently it's not 5e1a06d but another commit in that range. I was wrong, Giuseppe's analysis or hunch was right. I debugged into gtk3 and it returns the correct value for top-attach. It's the impenetrable argument marshalling hairball where the retval goes lost, ie. when the correct int-valued top-attach property gets turned into constant 0. Confirming, I'm bisecting this between pygobject3 3.8.2 and 3.10.2. The former breaks, the latter works.
This is the fix that's missing from RHEL-7:
commit 466567373289e6f141709f08efa80ba588d3d64a
Author: Simon Feltman <sfeltman.org>
Date: Tue Jul 2 18:06:01 2013 -0700
Re-add support for passing GValue's by reference
Fix special casing when marshaling from a Python held GValue
to a GValue argument intended for a function call.
The re-factoring of GValue marshaling in commit #9e47afe459df942d9f
broke this by always making a copy of the GValue. This removed the
ability to retrieve values with functions like
gtk_style_context_get_style_property.
https://bugzilla.gnome.org/show_bug.cgi?id=701058
Please backport ASAP. Thanks.
Created attachment 936981 [details]
manual backport of upstream fix (broken out patch)
I verified Laszio's reproducer myself and have a pygobject3 commit ready to go. We're just waiting on an ack from QA. still pending for the pm_ack? Can someone please pm_ack this? thanks for your prompt response. 7.0 is affected as well by this problem but it has no impact on virt-manager (I've noticed the issue after the virt-manager rebase in 7.1) so fine for us if it is not cloned to z stream. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0536.html |