[GNC] Problems upgrading to 4.8a
Phil Wolff
adiabat at centurylink.net
Fri Sep 9 14:22:40 EDT 2022
On 9/9/22 08:34, Geert Janssens wrote:
Op vrijdag 9 september 2022 17:23:36 CEST schreef Phil Wolff:
> On 9/9/22 07:49, Geert Janssens wrote:
>
>
> 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.
>
>
>
> [1]dellbert at dellbert:/usr/local/share/glib-2.0/schemas$ strings
> /usr/share/glib-2.0/schemas/gschemas.compiled | grep
org.gnucash.general
> ((iiii))org.gnucash.general.report
> /org/gnucash/general/report/
> org.gnucash.general.report.pdf-export
> org.gnucash.general
> org.gnucash.general.report
> org.gnucash.general.register
> /org/gnucash/general/
> (i)org.gnucash.general.finance-quote
> /org/gnucash/general/finance-quote/
> org.gnucash.general.register
> /org/gnucash/general/register/
> (s(yau))org.gnucash.general.report.pdf-export
> (s).path/org/gnucash/general/report/pdf-export/
> general/org.gnucash.general
> [2]dellbert at dellbert:/usr/local/share/glib-2.0/schemas$
>
>
The output is slightly different from mine, but that's not abnormal.
Another test would be to run
gsettings list-schemas | grep org.gnucash.general
gsettings is the interface gnucash uses to access the preferences, so
contrary to dconf-editor this should use the same code internally as
gnucash.
Does this command return the org.gnucash.general schema (together with
a few others) ?
dellbert at dellbert:~$ gsettings list-schemas | grep org.gnucash.general
org.gnucash.general
org.gnucash.general.finance-quote
org.gnucash.general.register
org.gnucash.general.report
org.gnucash.general.report.pdf-export
dellbert at dellbert:~$
Lastly to verify if compilation was completely successful you can
also run
sudo glib-compile-schemas --strict /usr/share/glib-2.0/schemas
And check the result for errors. If compilation didn't result in any
errors you could recheck if gnucash now works without the GSettings
warnings in gnucash.trace.
dellbert at dellbert:~$ sudo glib-compile-schemas --strict
/usr/share/glib-2.0/schemas
[sudo] password for dellbert:
dellbert at dellbert:~$ rm /tmp/gnucash.trace
dellbert at dellbert:~$ rm -v /tmp/gnucash.trace
rm: cannot remove '/tmp/gnucash.trace': No such file or directory
<started gnucash>
dellbert at dellbert:~$ ll /tmp/gnucash.trace
-rw------- 1 dellbert dellbert 294114 Sep 9 11:15 /tmp/gnucash.trace
dellbert at dellbert:~$ cat /tmp/gnucash.trace
* 11:14:57 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema !=
NULL' failed
* 11:14:57 WARN <gnc.app-utils.gsettings>
[gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown
gsettings schema org.gnucash.GnuCash.general
* 11:14:57 ERROR <gnc.app-utils> GVariant*
gnc_gsettings_get_user_value(const gchar*, const gchar*): assertion
'G_IS_SETTINGS (settings_ptr)' failed
* 11:14:57 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema !=
NULL' failed
* 11:14:57 WARN <gnc.app-utils.gsettings>
[gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown
gsettings schema org.gnucash.general
* 11:14:57 ERROR <gnc.app-utils> GVariant*
gnc_gsettings_get_user_value(const gchar*, const gchar*): assertion
'G_IS_SETTINGS (settings_ptr)' failed
* 11:14:57 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema !=
NULL' failed
* 11:14:57 WARN <gnc.app-utils.gsettings>
[gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown
gsettings schema org.gnucash.GnuCash.general
* 11:14:57 ERROR <gnc.app-utils> gdouble gnc_gsettings_get_float(const
gchar*, const gchar*): assertion 'G_IS_SETTINGS (settings_ptr)' failed
* 11:14:57 ERROR <GLib-GIO> g_settings_new_full: assertion 'schema !=
NULL' failed
* 11:14:57 WARN <gnc.app-utils.gsettings>
[gnc_gsettings_get_settings_ptr()] Ignoring attempt to access unknown
gsettings schema org.gnucash.GnuCash.general
.
.
.
Regards,
Geert
--
What was that about a rising tide lifting all boats? What if you don't
have a boat?
— Eugene Robinson
References
1. mailto:dellbert at dellbert:/usr/local/share/glib-2.0/schemas$
2. mailto:dellbert at dellbert:/usr/local/share/glib-2.0/schemas$
More information about the gnucash-user
mailing list