Bug 2149747 - Mate on Rocky 8.7 - theme and g_object errors
Summary: Mate on Rocky 8.7 - theme and g_object errors
Keywords:
Status: ON_QA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: mate-desktop
Version: epel8
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Wolfgang Ulbrich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-11-30 18:48 UTC by Daire Byrne
Modified: 2022-12-12 01:23 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Daire Byrne 2022-11-30 18:48:04 UTC
Description of problem:
I have recently installed a Rocky 8.7 workstation with the latest Mate packages from EPEL (e.g. mate-panel-1.26.2-4.el8.x86_64) but am seeing various errors in the logs while using the desktop.

Firstly the fairly innocuous:

Nov 30 18:05:11 host journal[1260042]: Theme parsing error: gtk.css:3286:25: 'font-feature-settings' is not a valid property name
Nov 30 18:05:11 host journal[1260042]: Theme parsing error: gtk.css:3748:23: 'font-feature-settings' is not a valid property name

/usr/share/themes/YaruOk/gtk-3.0/gtk.css
490:spinbutton { font-feature-settings: "tnum"; }
1306:scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
1469:progressbar { font-size: smaller; color: rgba(0, 0, 0, 0.4); font-feature-settings: "tnum"; }

Then these types of errors are more worrying:

Nov 30 18:16:34 host journal[838427]: g_object_add_weak_pointer: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: g_object_add_weak_pointer: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: gtk_widget_hide: assertion 'GTK_IS_WIDGET (widget)' failed
Nov 30 18:16:34 host journal[838427]: gtk_toggle_button_set_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
Nov 30 18:16:34 host journal[838427]: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: gtk_widget_hide: assertion 'GTK_IS_WIDGET (widget)' failed
Nov 30 18:16:34 host journal[838427]: gtk_toggle_button_set_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
Nov 30 18:16:34 host journal[838427]: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
Nov 30 18:16:34 host journal[838427]: invalid (NULL) pointer instance
Nov 30 18:16:34 host journal[838427]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

I have setup the exact same dekstop on Ricket 9.0 and everything works fine and without any of these errors.

I have not tried with Rocky 8.6 to see if this is just a case of Mate needing to be updated for EL 8.7?

Version-Release number of selected component (if applicable):
mate-panel-1.26.2-4.el8.x86_64
mate-menus-libs-1.26.0-3.el8.x86_64
..
..
etc.

How reproducible:


Steps to Reproduce:
1. Start standard Mate desktop and open "Appearance" settings to see the gtk.css errors
2. Add the "Window List" applet to the panel and try second mouse to open the "Preference" - the window doesn't open and there are lots of g_object and gtk_widget errors in the logs.
3.

Actual results:
While the desktop mostly seems stable, the amount of logging is worrying and the 


Expected results:
The EPEL Mate packages works great on Rocket 9.0 and I don't see these errors.

Additional info:

Comment 1 Wolfgang Ulbrich 2022-11-30 19:13:49 UTC
I am thinking YaruOk is to modern for rhel8 and deriviates. Use a theme which is supported by rhel8, or file out an upstream Bug, or delete this entry in gtk.css:3286:25 and gtk.css:3748:23
For the other errors i am thinking rhel8 needs a general update of gtk3 and glib. And i am thinking more and more it was a mistake to push Mate to rhel8.
Sorry i don't want and i don't want spend more unpaid spare time to downgrade parts of Mate to versions which are more compatible to glib and gtk versions.
Wait for an general rhel8 update or upgrade to rhel9.

Comment 2 Daire Byrne 2022-11-30 21:53:10 UTC
Wolfgang,

Thanks for the fast reply.

I agree that it is very difficult to maintain Mate on RHEL8 - I know because I did end up compiling it myself last year and ended up having to update glib2 and gtk3 packages just to get things working.

I had hoped that the EPEL8 Mate packages had found a way around this but I guess there are still issues.

It seems pretty unlikely that RHEL8 will ever update glib2 - they haven't changed it at all between 8.0 & 8.7.

When I updated the OS versions of glib2 & gtk3, everything *seemed* to continue working, but obviously there is a ton of software compiled against the older versions.

Personally I would love to see a fully functioning Mate in EL8 because it gives us a nice upgrade path from EL7 -> EL8 -> EL9 with a consistent user experience (gnome changes every other week).

Anyway, thanks again for the work you have put in so far. I'll see if I can get any further by updating glib2 & gtk3 and recompiling your Mate packages.

Daire

Comment 3 Wolfgang Ulbrich 2022-12-01 10:17:56 UTC
I can reproduce the issue with the preference window of windows.list
I think the problem is here in the glade.ui file for the windows.list https://github.com/mate-desktop/mate-panel/commit/fecd94f75922fbcc1cbe19598152616320fd740c
```
  <requires lib="gtk+" version="3.22"/>
  <requires lib="gtk+" version="3.24"/>
```
[root@rock8 ~]# rpm -qa gtk3
gtk3-3.22.30-11.el8.x86_64


You can try to revert this commit.
It's from 1.26 branch

Let me know if that helps

Comment 4 Wolfgang Ulbrich 2022-12-01 10:56:30 UTC
Simple reverting the commit doesn't work.
You will run in a conflict with one later commit
https://github.com/mate-desktop/mate-panel/commit/0a5006eba63a8214e6448b491b22663d0c13e54e

Comment 5 Wolfgang Ulbrich 2022-12-02 14:50:43 UTC
Simply reducing the gtk3 version in glade file fixes the the issue with windows-list-preferences in my test VM.
Can you please try out this scratch build?
https://koji.fedoraproject.org/koji/taskinfo?taskID=94835242

The warnings in journal i couldn't reproduce with my VM.

Comment 6 Daire Byrne 2022-12-03 10:34:19 UTC
Yes! Confirmed that these RPMs fix the preferences for the windows-list applet. I now get window and no errors in the journal.

Thanks for that - much appreciated!

So the remaining errors that I see can be reproduced by opening a mate-terminal and then closing it again:

Dec  3 10:08:42 host journal[7109]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Dec  3 10:08:42 host journal[7109]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Dec  3 10:08:42 host journal[7109]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Dec  3 10:08:42 host journal[7109]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Dec  3 10:08:42 host journal[7109]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
..
..

Now, these don't seem to cause any issues (the mate-terminal exits just fine), but there is a lot of this spam in the logs.

I only did a quick test but it seems like most applications exhibit this when exiting.

But if you don't see those errors, then I need to dig into the particulars of my install to make sure I don't have some weird environment when running Mate.

Thanks again,

Daire

Comment 7 Daire Byrne 2022-12-03 11:40:39 UTC
Actually, on closer inspection, those errors are all coming from the mate-settings-daemon.

I ran it with debug (/usr/libexec/mate-settings-daemon --debug --replace) but it did not add anything extra to the logs.

I also tried with "G_MESSAGES_DEBUG=all /usr/libexec/mate-settings-daemon" but again nothing extra in the output. I'm not sure is glib2 or mate-setting-daemon needs to be compiled with extra debugging.

Daire

Comment 8 Wolfgang Ulbrich 2022-12-03 17:25:17 UTC
I can trigger this warnings in a terminal running `/usr/libexec/mate-settings-daemon --replace` and than closing another open terminal or another application.
But i don't see them in journal running `journalctl -b0 -f --no-tail`.

Also i can trigger this warning in f36.
Here running 2 terminals with `/usr/libexec/mate-settings-daemon --replace`. Every time when starting a new daemon in one terminal, the daemon in the other terminal closed and i see the warnings.
But i don't see those warnings when closing another window.

Running m-s-d with gdb gives me the warnings but no breakpoint.
So i can`t create a stacktrace.
No idea to debug this more or to fix it.
You can try to report it upstream.

Well, i will create a new mate-panel build with the fix for windows list applet.

Comment 9 Fedora Update System 2022-12-03 19:12:14 UTC
FEDORA-EPEL-2022-9b4191fb18 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-9b4191fb18

Comment 10 Daire Byrne 2022-12-03 22:23:53 UTC
Yea, I don't know why you can't see the warnings in the journal while I do (Rocky 8.7).

I also tested the same on Rocky 9.0 + EPEL9 Mate and I don't see the warnings in the journal or in the console when running "/usr/libexec/mate-settings-daemon --replace" and closing various desktop windows/applications.

I suspect if I mention it upstream (mate) they will likely just say "use a newer glib2" and/or upgrade from EL8 -> EL9.

Anyway, I can modify the desktop xdg to redirect the mate-settings-daemon output to /dev/null to keep the harmless log spam for every window close at bay.

Thanks again,

Daire

Comment 11 Fedora Update System 2022-12-04 02:27:20 UTC
FEDORA-EPEL-2022-9b4191fb18 has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-9b4191fb18

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

Comment 12 Fedora Update System 2022-12-12 01:23:52 UTC
FEDORA-EPEL-2022-9b4191fb18 has been pushed to the Fedora EPEL 8 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.