Bug 2266153 - [abrt] gnome-tweaks: __init__(): widgets.py:525:__init__:TypeError: No means to translate argument or return value for 'GtkPropertyExpression'
Summary: [abrt] gnome-tweaks: __init__(): widgets.py:525:__init__:TypeError: No means ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-tweaks
Version: 40
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mohamed El Morabity
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:ea27fe628ddf5ac2f65c41d13b2...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-02-26 20:01 UTC by marcelotrajano
Modified: 2024-03-23 00:28 UTC (History)
9 users (show)

Fixed In Version: gnome-tweaks-46~beta-2.fc40
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-03-23 00:28:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: os_info (756 bytes, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details
File: environ (1.62 KB, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details
File: mountinfo (2.80 KB, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details
File: open_fds (1.30 KB, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details
File: namespaces (171 bytes, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details
File: backtrace (1.50 KB, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details
File: cpuinfo (2.83 KB, text/plain)
2024-02-26 20:01 UTC, marcelotrajano
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Gitlab GNOME gnome-tweaks merge_requests 133 0 None opened widgets: Temporarily avoid using Gtk.PropertyExpression 2024-03-05 18:32:28 UTC

Description marcelotrajano 2024-02-26 20:01:12 UTC
Description of problem:
error error error 

Version-Release number of selected component:
gnome-tweaks-46~beta-1.fc40

Additional info:
reporter:       libreport-2.17.14
kernel:         6.8.0-0.rc5.41.fc40.x86_64
cmdline:        /usr/bin/python3 /usr/bin/gnome-tweaks
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/app-gnome-org.gnome.Software-2448.scope
uid:            1000
reason:         widgets.py:525:__init__:TypeError: No means to translate argument or return value for 'GtkPropertyExpression'
executable:     /usr/bin/gnome-tweaks
type:           Python3
package:        gnome-tweaks-46~beta-1.fc40
runlevel:       N 5
exception_type: TypeError
crash_function: __init__
interpreter:    python3-3.12.2-1.fc40.x86_64
comment:        error error error 

Truncated backtrace:
widgets.py:525:__init__:TypeError: No means to translate argument or return value for 'GtkPropertyExpression'

Traceback (most recent call last):
  File "/usr/bin/gnome-tweaks", line 75, in <module>
    from gtweak.app import GnomeTweaks
  File "/usr/lib/python3.12/site-packages/gtweak/app.py", line 13, in <module>
    from gtweak.tweakview import Window
  File "/usr/lib/python3.12/site-packages/gtweak/tweakview.py", line 14, in <module>
    from gtweak.tweaks.tweak_group_appearance import TWEAK_GROUP as AppearanceTweaks
  File "/usr/lib/python3.12/site-packages/gtweak/tweaks/tweak_group_appearance.py", line 236, in <module>
    CursorThemeSwitcher(),
    ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gtweak/tweaks/tweak_group_appearance.py", line 83, in __init__
    GSettingsTweakComboRow.__init__(self,
  File "/usr/lib/python3.12/site-packages/gtweak/widgets.py", line 525, in __init__
    self.set_expression(Gtk.PropertyExpression.new(TweakListStoreItem, None, "title"))
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: No means to translate argument or return value for 'GtkPropertyExpression'

Local variables in innermost frame:
self: <tweak_group_appearance.CursorThemeSwitcher object at 0x7fca400eaf00 (gtweak+tweaks+tweak_group_appearance+CursorThemeSwitcher at 0x558e4b6e6980)>
title: 'Cursor'
schema_name: 'org.gnome.desktop.interface'
key_name: 'cursor-theme'
key_options: [('Adwaita', 'Adwaita (default)')]
schema_id: None
subtitle: None
options: {}

Comment 1 marcelotrajano 2024-02-26 20:01:16 UTC
Created attachment 2019003 [details]
File: os_info

Comment 2 marcelotrajano 2024-02-26 20:01:18 UTC
Created attachment 2019004 [details]
File: environ

Comment 3 marcelotrajano 2024-02-26 20:01:20 UTC
Created attachment 2019005 [details]
File: mountinfo

Comment 4 marcelotrajano 2024-02-26 20:01:21 UTC
Created attachment 2019006 [details]
File: open_fds

Comment 5 marcelotrajano 2024-02-26 20:01:23 UTC
Created attachment 2019007 [details]
File: namespaces

Comment 6 marcelotrajano 2024-02-26 20:01:24 UTC
Created attachment 2019008 [details]
File: backtrace

Comment 7 marcelotrajano 2024-02-26 20:01:26 UTC
Created attachment 2019009 [details]
File: cpuinfo

Comment 8 Chris Williams 2024-02-28 19:28:54 UTC
This is happening because Tweaks has an undeclared dependency on pygobject 3.47+, which isn't packaged in F40.

https://gitlab.gnome.org/GNOME/gnome-tweaks/-/issues/461

Comment 9 marcelotrajano 2024-02-28 19:40:40 UTC
(In reply to Chris Williams from comment #8)
> This is happening because Tweaks has an undeclared dependency on pygobject
> 3.47+, which isn't packaged in F40.
> 
> https://gitlab.gnome.org/GNOME/gnome-tweaks/-/issues/461

Thanks

Comment 10 Andre Robatino 2024-03-01 00:49:42 UTC
I'm confused - Bodhi shows many pygobject3 builds going back years, but the package is not available for install, either on F39 or F40. The most recent build is pygobject3-3.46.0-4.fc40.

Comment 11 Andre Robatino 2024-03-01 00:51:24 UTC
Sorry, I accidentally hit the "minor update" box when posting the above comment, so email was not sent.

> I'm confused - Bodhi shows many pygobject3 builds going back years, but the package is not available for install, either on F39 or F40. The most recent build is pygobject3-3.46.0-4.fc40.

Comment 12 Chris Williams 2024-03-01 03:49:45 UTC
(In reply to Andre Robatino from comment #10)
> I'm confused - Bodhi shows many pygobject3 builds going back years, but the
> package is not available for install, either on F39 or F40. The most recent
> build is pygobject3-3.46.0-4.fc40.

The binary package is python3-gobject. The Fedora gnome-tweaks package already depends on it, but 3.46 is too old.

It's possible that Tweaks will need to stop using that feature for this cycle. I don't have hard confirmation that there will be a pygobject 3.48 stable release in time for F40, only 'hopefully'.

Comment 13 Alexander 2024-03-03 19:21:41 UTC
1. Install gnome-tweaks using dnf
2. Try to run gnome-tweaks
3. gnome-tweaks immediately crashes


reporter:       libreport-2.17.15
exception_type: TypeError
uid:            1000
package:        gnome-tweaks-46~beta-1.fc40
cmdline:        /usr/bin/python3 /usr/bin/gnome-tweaks
crash_function: __init__
executable:     /usr/bin/gnome-tweaks
reason:         widgets.py:525:__init__:TypeError: No means to translate argument or return value for 'GtkPropertyExpression'
kernel:         6.8.0-0.rc6.49.fc40.x86_64
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/app-gnome-org.gnome.tweaks-3822.scope
type:           Python3
interpreter:    python3-3.12.2-2.fc40.x86_64
runlevel:       N 5

Comment 14 Adam Williamson 2024-03-05 07:48:53 UTC
yeah, can confirm here too.

I guess we either backport whatever tweaks needs from 3.47 or patch the bit of tweaks that needs it out? meh. i'll have a look tomorrow.

Comment 15 Fedora Blocker Bugs Application 2024-03-05 17:42:33 UTC
Proposed as a Freeze Exception for 40-beta by Fedora user tflink using the blocker tracking app because:

 while not part of any default installs, gnome-tweaks is a tool which is commonly used to change default values for fonts, window behviors etc. for GNOME. Having it crash immediately upon opening post-install makes for a frustrating post-install experience

Comment 16 Adam Williamson 2024-03-05 17:57:55 UTC
Ugh. This looks kinda intractable. pygobject 3.47/3.48 is a big change from 3.46, and the change to gnome-tweaks is also a big one and part of a bigger series. It cannot really be cleanly reverted, I don't think.

bumping pygobject to a pre-release now does not feel like a good idea. We could try downgrading gnome-tweaks to the previous release, but that also doesn't feel like a *great* resolution. I'm not sure if it's possible to finesse the use of Gtk.PropertyExpression such that we can make the current gnome-tweaks work with the older pygobject...I'd have to look into what those expressions are doing exactly, and if there's any alternative...

Comment 17 Chris Williams 2024-03-05 18:14:10 UTC
(In reply to Adam Williamson from comment #16)
> Ugh. This looks kinda intractable. pygobject 3.47/3.48 is a big change from
> 3.46, and the change to gnome-tweaks is also a big one and part of a bigger
> series. It cannot really be cleanly reverted, I don't think.
> 
> bumping pygobject to a pre-release now does not feel like a good idea. We
> could try downgrading gnome-tweaks to the previous release, but that also
> doesn't feel like a *great* resolution. I'm not sure if it's possible to
> finesse the use of Gtk.PropertyExpression such that we can make the current
> gnome-tweaks work with the older pygobject...I'd have to look into what
> those expressions are doing exactly, and if there's any alternative...

I've just submitted an MR upstream to avoid Gtk.PropertyExpression:

https://gitlab.gnome.org/GNOME/gnome-tweaks/-/merge_requests/133

Comment 18 Adam Williamson 2024-03-05 18:32:28 UTC
nice! let's try it.

Comment 19 Fedora Update System 2024-03-05 18:50:43 UTC
FEDORA-2024-c9005ede03 (gnome-tweaks-46~beta-2.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-c9005ede03

Comment 20 Adam Williamson 2024-03-05 18:51:09 UTC
Tested the fix locally and it works, thanks a lot. Sent an update.

Comment 21 Tim Flink 2024-03-05 21:53:32 UTC
installed the rawhide build from koji and that fixes the issue for me as well.

Comment 22 Fedora Update System 2024-03-06 02:11:32 UTC
FEDORA-2024-c9005ede03 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-c9005ede03`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-c9005ede03

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 23 Janik Tarverdyan 2024-03-07 09:17:05 UTC
There was a problem after upgrading Fedora 40.


reporter:       libreport-2.17.15
kernel:         6.8.0-0.rc6.49.fc40.x86_64
cmdline:        /usr/bin/python3 /usr/bin/gnome-tweaks
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/dbus-:1.2-org.gnome.Software
uid:            1000
reason:         widgets.py:525:__init__:TypeError: No means to translate argument or return value for 'GtkPropertyExpression'
executable:     /usr/bin/gnome-tweaks
type:           Python3
package:        gnome-tweaks-46~beta-1.fc40
runlevel:       N 5
exception_type: TypeError
crash_function: __init__
interpreter:    python3-3.12.2-2.fc40.x86_64
comment:        There was a problem after upgrading Fedora 40.

Comment 24 Jeremy Bicha 2024-03-09 15:39:14 UTC
pygobject 3.48.0 was just released upstream. Is it possible to package it for Fedora 40 and let the gnome-tweaks upstream maintainer know that it is ok to use pygobject 3.48.0 features?

Comment 25 Adam Williamson 2024-03-11 16:00:01 UTC
-3 in https://pagure.io/fedora-qa/blocker-review/issue/1494 , marking rejected.

Comment 26 Evan Welsh 2024-03-17 14:01:38 UTC
Tweaks has released 46.0 which does not depend on pygobject 3.47.0/3.48.0, we'll depend on pygobject 3.48.0 in a future release. Tweaks now includes its runtime dependencies in its meson.build, so hopefully this is more easily caught going forward.

Comment 27 Fedora Update System 2024-03-23 00:28:56 UTC
FEDORA-2024-c9005ede03 (gnome-tweaks-46~beta-2.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


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