[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