Comment 6 for bug 1963766

Revision history for this message
MyHessler (myhessler) wrote :

I'm also affected after upgrading from Ubuntu LTS 20.04 to 22.04 two days ago, which upgraded gnucash along with it, probably from 2.6.x to 4.8-1build2.

gnucash does not read nor store its settings. Whenever opening the settings via the menu 'edit | settings' all settings are empty (no tip of the day, no start notification, no 24h setting). When storing the settings by closing the setting window via 'close' and reopening the settings window, all settings are lost. Also gnucash never remembers the last file I opened, therefore on every gnucash start I have to manually select and open my gnucash file.

Interesting is that when I try to change the settings once (which is not successful) gnucash always asks me on exit whether I want to save (even when I did not open any file and did not create a new one) and wants me to select a file name. I don't understand this behaviour.

Interestingly enough, at the very first start of gnucash after the upgrade, it did open my file and showed all the account tabs along with it, exactly how it is supposed to happen. I did not store the file at this point in time, as I wanted to first make a backup of my gnucash file before the newer version changes it to the newest data file format.

I tried to reinstall all gnucash related packages with 'sudo apt reinstall gnucash gnucash-common gnucash-docs python3-gnucash', but this did not change anything.

Further research in /tmp/gnucash.trace found there are many error messages, like:
* 18:06:11 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema != NULL' failed
* 18:06:11 WARN <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown gsettings schema org.gnucash.GnuCash.general
* 18:06:11 ERROR <gnc.app-utils> GVariant* gnc_gsettings_get_user_value(const gchar*, const gchar*): assertion 'G_IS_SETTINGS (settings_ptr)' failed
* 18:06:11 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema != NULL' failed
* 18:06:11 WARN <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown gsettings schema org.gnucash.general
* 18:06:11 ERROR <gnc.app-utils> GVariant* gnc_gsettings_get_user_value(const gchar*, const gchar*): assertion 'G_IS_SETTINGS (settings_ptr)' failed
* 18:06:11 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema != NULL' failed
* 18:06:11 WARN <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown gsettings schema org.gnucash.GnuCash.general
* 18:06:11 ERROR <gnc.app-utils> gdouble gnc_gsettings_get_float(const gchar*, const gchar*): assertion 'G_IS_SETTINGS (settings_ptr)' failed
* 18:06:11 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema != NULL' failed
* 18:06:11 WARN <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown gsettings schema org.gnucash.GnuCash.general
* 18:06:11 ERROR <gnc.app-utils> gboolean gnc_gsettings_get_bool(const gchar*, const gchar*): assertion 'G_IS_SETTINGS (settings_ptr)' failed
(and so on)

This points gnucash not able to access its configuration data in dconf via gsettings.

I've used 'dconf-editor' and could find the configuration settings of gnucash under e.g. 'org.gnucash.GnuCash.general'. I could also change the settings (e.g. the 24h format). However, gnucash ignores those settings on restart, so it seems it is unable to read them from dconf.

I could find several gnucash schemas under /usr/share/glib-2.0/schemas/ starting with 'org.gnucash.GnuCash.xxx.gschema.xml'. So I've also regenerated the schemas with 'sudo glib-compile-schemas /usr/share/glib-2.0/schemas', but this did not change anything. I've also searched through the other directories from XDG_DATA_DIRS for other gnucash schemas, but could not find any other gnucash related schemas.

This is as far as I myself could research this topic with the help of Internet search engines. If you have any other hint on what else to do let me know.

I personally find it very annoying that this is another situation where the LTS version of gnucash is practically unusable, as has already happened to me in the past, forcing me to build gnucash myself from scratch with the latest version of the source code to get it working. Normally I don't need the very latest version of gnucash, but a fully working version is absolutely a requirement for such a sensitive piece of software!