[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