pygobject 3.0.0-0svn1 does not work with custom python GTK widgets

Bug #856669 reported by FrenchNux
306
This bug affects 38 people
Affects Status Importance Assigned to Milestone
pygobject (Ubuntu)
Fix Released
Critical
Martin Pitt
Oneiric
Fix Released
Critical
Martin Pitt
ubiquity (Ubuntu)
Invalid
Undecided
Unassigned
Oneiric
Invalid
Undecided
Unassigned

Bug Description

pygobject 3.0.0-0svn1 introduces a bug whereby Python GTK+ widgets instantiated with GtkBuilder do not get their __init__ methods called.

I have narrowed it down to the following patch:
https://bugzilla.gnome.org/attachment.cgi?id=196572

This was introduced to fix http://bugzilla.gnome.org/show_bug.cgi?id=657403, however the test case for this still fails with 3.0.0-0svn1:
http://bugzilla.gnome.org/attachment.cgi?id=194787

This caused Ubiquity's test suite to fail, as well as Ubiquity itself on CDs with upgraded copies of pygobject.

Original report follows:
issue appears when i installed 7 zip with software center and try to install release

ProblemType: Crash
DistroRelease: Ubuntu 11.10
Package: ubiquity 2.7.35
ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
Uname: Linux 3.0.0-11-generic x86_64
ApportVersion: 1.23-0ubuntu1
Architecture: amd64
Date: Thu Sep 22 20:26:27 2011
ExecutablePath: /usr/lib/ubiquity/bin/ubiquity
InterpreterPath: /usr/bin/python2.7
ProcCmdline: /usr/bin/python /usr/lib/ubiquity/bin/ubiquity gtk_ui
ProcEnviron: Error: [Errno 13] Permission denied: '/proc/2252/environ'
PythonArgs: ['/usr/lib/ubiquity/bin/ubiquity', 'gtk_ui']
SourcePackage: ubiquity
Title: ubiquity crashed with AttributeError in do_set_property(): 'StateBox' object has no attribute 'label'
Traceback:
 Traceback (most recent call last):
   File "/usr/lib/ubiquity/ubiquity/gtkwidgets.py", line 309, in do_set_property
     self.label.set_text(value)
 AttributeError: 'StateBox' object has no attribute 'label'
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Related branches

Revision history for this message
FrenchNux (christophe-pauc) wrote :
tags: removed: need-duplicate-check
visibility: private → public
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubiquity (Ubuntu):
status: New → Confirmed
Evan (ev)
Changed in ubiquity (Ubuntu):
status: Confirmed → Invalid
Changed in pygobject (Ubuntu):
importance: Undecided → Critical
status: New → Triaged
milestone: none → ubuntu-11.10
assignee: nobody → Ubuntu Desktop (ubuntu-desktop)
Evan (ev)
description: updated
summary: - ubiquity crashed with AttributeError in do_set_property(): 'StateBox'
- object has no attribute 'label'
+ pygobject 3.0.0-0svn1 does not work with custom python GTK widgets
tags: added: rls-mgr-o-tracking
tags: added: bugpattern-needed
Martin Pitt (pitti)
Changed in pygobject (Ubuntu Oneiric):
assignee: Ubuntu Desktop (ubuntu-desktop) → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

Both the simple and the GtkBuilder test cases for the original bug still work (it was wrong at the refcount check, though; the builder has a reference, and the python code has another variable for it, so it ought to be 2), so they still work. I confirm that with 3.0.0 custom constructors are still called, so this must be something else. I'll try to distill a test case for this.

Changed in pygobject (Ubuntu Oneiric):
status: Triaged → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Reproducer.

Revision history for this message
Martin Pitt (pitti) wrote :

Ah, this already got fixed upstream. The mentioned commit was reverted, and the refcounting bug got fixed properly, so that now all three broken out test cases work, and ubiquity test suite succeeds again.

I uploaded a fixed pygobject to unapproved.

Changed in pygobject (Ubuntu Oneiric):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pygobject - 3.0.0-0ubuntu1

---------------
pygobject (3.0.0-0ubuntu1) oneiric; urgency=low

  * Add 00git_fix_custom_widgets.py: Properly fix refcounting for floating
    objects and fix regression of not calling custom widget constructors when
    they get created through GtkBuilder. Patches taken from upstream git head.
    (LP: #856669)
 -- Martin Pitt <email address hidden> Mon, 26 Sep 2011 10:06:48 +0200

Changed in pygobject (Ubuntu Oneiric):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.