[GNC] Problems upgrading to 4.8a
Phil Wolff
adiabat at centurylink.net
Fri Sep 9 11:23:36 EDT 2022
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$
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 ?
>
>
>
>
> Regards,
>
>
>
>
> Geert
>
>
>
>
> i repeated the search using "sudo find / -xdev -name
> org.gnucash.\*.gschema.xml" and got the same list as appears below
this
> comment. I then copied all of the org.gnucash files from
> /usr/share/glib-2.0/schemas to /usr/local/share/glib-2.0/schema,
deleted
> /tmp/gnucash.trace (just to be sure), ran gnucash, and looked at
the new
> trace file. Same story. So I looked in the package manager's
record of
> files that were originally installed. That list exactly matches
the results
> of the "find" operation below.
> > So I took a look for schema files:
> >
> >
> >
> > dellbert at dellbert:~$ sudo find / -xdev -name
> >
> > org.gnucash.GnuCash\*.gschema.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.business.gsc
hema.x
> > m
> >
> > l
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.totd.gschema
.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.csv.g
schema
> > .
> >
> > xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.general.finance-quot
e.gsch
> > e
> >
> > ma.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.window.pages.gschema
.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.warnings.gschema.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.history.gschema.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.reconcile.gs
chema.
> > x
> >
> > ml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.export.csv.g
schema
> > .
> >
> > xml
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.gschema.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.deprecated.gschema.x
ml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.hbci.
gschem
> > a
> >
> > .xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.flicker.gsch
ema.xm
> > l
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.checkprintin
g.gsch
> > e
> >
> > ma.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.gener
ic.gsc
> > h
> >
> > ema.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.commodities.
gschem
> > a
> >
> > .xml
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.sxs.gschema.
xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.ofx.g
schema
> > .
> >
> > xml /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.gschema.xml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.qif.g
schema
> > .x
> >
> > ml
> >
> >
/usr/share/glib-2.0/schemas/org.gnucash.GnuCash.window.pages.account
.tree.
> > g
> >
> > schema.xml dellbert at dellbert:~$
>
> I extracted from the trace files all of the lines containing
"Ignoring
> attempt to access unknown gsettings schema" and eliminated the
duplicates.
> Here are the missing schemas:
>
> * 06:30:51 WARN <gnc.app-utils.gsettings>
> [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access
unknown
> gsettings schema org.gnucash.general * 06:30:56 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.dialogs.business.bill * 06:30:52 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.dialogs.business.invoice * 06:30:51 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.dialogs.import.hbci * 06:30:52 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.dialogs.open-save * 06:30:56 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.dialogs.sxs.since-last-run * 06:30:51 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
org.gnucash.GnuCash.dialogs.totd
> * 06:30:51 WARN <gnc.app-utils.gsettings>
> [gnc_gsettings_get_settings_ptr()] Ignoring attempt to access
unknown
> gsettings schema org.gnucash.GnuCash.general * 06:30:52 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.general.register * 06:30:51 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.general.report * 06:30:52 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
org.gnucash.GnuCash.history *
> 06:30:56 WARN <gnc.app-utils.gsettings>
[gnc_gsettings_get_settings_ptr()]
> Ignoring attempt to access unknown gsettings schema
> org.gnucash.GnuCash.warnings.temporary * 06:30:55 WARN
> <gnc.app-utils.gsettings> [gnc_gsettings_get_settings_ptr()]
Ignoring
> attempt to access unknown gsettings schema
> org.gnucash.GnuCash.window.pages.account-tree.summary
>
>
> Should these have been created by GNC post-installation?
>
> <snip>
--
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