[GNC] Problems upgrading to 4.8a

Geert Janssens geert.gnucash at kobaltwit.be
Fri Sep 9 10:49:06 EDT 2022


Hi Phill,

I'm trying to remember how everything panned out exactly back when 4.8 was released. 
There was a critical issue with the preference migration causing gnucash to crash on startup 
in certain situations. This has been fixed in 4.8a, which is what you have installed.

It is slightly odd that gnucash itself fails to load these schema files while dconf-editor sees 
them just fine. But I don't know the internals of dconf-editor so perhaps it uses a different 
method of scanning for schema files than gnucash does.

As to your feedback:
The gschema files you have found are the correct ones and it's good the old ones are not 
present anywhere on the system.

The list of missing gsettings schemas you report is probably not exhaustive. The warnings 
will only be emitted when the schema is queried. Not all preferences are queried at once at 
startup.

What we can state is that the source files for these schema definitions are installed. That the 
list of gschema files you report.
It's worth to check if the missing schemas are actually defined in these source files. For 
exmple the schema "org.gnucash.general" should be found in
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.deprecated.gschema.xml
Can you verify this ?

Schema files should be compiled at install time before gnucash can use them. That's more or 
less the answer to your question whether they should be created at install time. Perhaps this 
went wrong for some reason.

Can you run the following command to test this?
strings /usr/share/glib-2.0/schemas/gschemas.compiled | grep org.gnucash.general

Just post the output here.

Regards,

Geert


Op vrijdag 9 september 2022 16:12:46 CEST schreef Phil Wolff:
> On 9/8/22 13:28, Geert Janssens wrote:
> 
> Op woensdag 7 september 2022 21:54:17 CEST schreef Phil Wolff:
> > Geert ~
> > 
> > 
> > 
> > Before doing anything, I looked at the current trace file. Lots of WARNs
> > and
> > 
> > ERRORs like
> > 
> > 
> > 
> > * 12:03:55  WARN <gnc.app-utils.gsettings>
> > 
> > [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown
> > 
> > gsettings schema org.gnucash.GnuCash.general * 12:03:55 ERROR
> > 
> > <gnc.app-utils> gboolean gnc_gsettings_get_bool(const gchar*, const
> > 
> > gchar*): assertion 'G_IS_SETTINGS (settings_ptr)' failed
> 
> This is probably the core of your problem. For some reason gnucash can't
> find the schema definitions for our preferences. If I remember correctly in
> most cases this is because it finds another location with the old schemas
> (starting with org.gnucash and no extra .GnuCash in the path). The most
> common candidate for this would be in /usr/local/share/glib-2.0/schemas/
> 
> Can you search your system for other such files ?
> 


More information about the gnucash-user mailing list