RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1138372 - GtkGrid top-attach property not valid
Summary: GtkGrid top-attach property not valid
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: pygobject3
Version: 7.1
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: rc
: ---
Assignee: Matthew Barnes
QA Contact: Desktop QE
URL:
Whiteboard:
: 1139550 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-04 16:28 UTC by Giuseppe Scrivano
Modified: 2015-03-05 13:20 UTC (History)
10 users (show)

Fixed In Version: pygobject3-3.8.2-5.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-05 13:20:44 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
reproducer (1.65 KB, text/plain)
2014-09-08 09:41 UTC, Giuseppe Scrivano
no flags Details
manual backport of upstream fix (broken out patch) (4.86 KB, patch)
2014-09-12 13:57 UTC, Laszlo Ersek
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 701058 0 None None None Never
Red Hat Product Errata RHBA-2015:0536 0 normal SHIPPED_LIVE pygobject3 bug fix update 2015-03-05 16:32:28 UTC

Description Giuseppe Scrivano 2014-09-04 16:28:07 UTC
Description of problem:


the GtkGrid top-attach property is not set properly.  It is used extensively by new versions of virt-manager to hide/show UI widgets.

How reproducible:

Repro script attached, it behaves differently on Fedora 20 and on RHEL-7.1 (RHEL-7.1-20140828.n.0)

Actual results:

Click on a button hides all buttons

Expected results:

Hide only the clicked button

Additional info:

It works well on Fedora 20

Comment 2 Giuseppe Scrivano 2014-09-08 09:41:08 UTC
Created attachment 935285 [details]
reproducer

Comment 3 Giuseppe Scrivano 2014-09-09 08:35:37 UTC
*** Bug 1139550 has been marked as a duplicate of this bug. ***

Comment 6 Laszlo Ersek 2014-09-12 09:12:07 UTC
$ 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.

Comment 7 Laszlo Ersek 2014-09-12 09:26:08 UTC
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.

Comment 8 Laszlo Ersek 2014-09-12 11:30:21 UTC
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.

Comment 9 Laszlo Ersek 2014-09-12 12:04:39 UTC
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.

Comment 10 Laszlo Ersek 2014-09-12 13:57:30 UTC
Created attachment 936981 [details]
manual backport of upstream fix (broken out patch)

Comment 12 Matthew Barnes 2014-09-15 14:54:31 UTC
I verified Laszio's reproducer myself and have a pygobject3 commit ready to go. We're just waiting on an ack from QA.

Comment 14 Giuseppe Scrivano 2014-09-19 12:36:46 UTC
still pending for the pm_ack?  Can someone please pm_ack this?

Comment 19 Giuseppe Scrivano 2014-09-26 10:01:48 UTC
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.

Comment 23 errata-xmlrpc 2015-03-05 13:20:44 UTC
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


Note You need to log in before you can comment on or make changes to this bug.