[GNC] Problems upgrading to 4.8a

Phil Wolff adiabat at centurylink.net
Wed Sep 7 15:54:17 EDT 2022


   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

   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.gschem
   a.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.totd.gschema.xm
   l
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.csv.gsch
   ema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.general.finance-quote.g
   schema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.window.pages.gschema.xm
   l
   /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.gsche
   ma.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.export.csv.gsch
   ema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.gschema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.deprecated.gschema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.hbci.gsc
   hema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.flicker.gschema
   .xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.checkprinting.g
   schema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.generic.
   gschema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.commodities.gsc
   hema.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.gsch
   ema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.gschema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.dialogs.import.qif.gsch
   ema.xml
   /usr/share/glib-2.0/schemas/org.gnucash.GnuCash.window.pages.account.tr
   ee.gschema.xml
   dellbert at dellbert:~$

   Should there be more?

   Phil ~

   On 9/7/22 11:59, Geert Janssens wrote:

   Hi Phil,

   Op woensdag 7 september 2022 18:50:16 CEST schreef Phil Wolff:

   > > "Backup files" are autogenerated by gnucash and - as the name
   suggests -

   > > contain backups of your accounting data. They are generated in the
   same

   > > directory as your "Data file" and have as file name

   > >

   > > <Data file name>.<timestamp>.gnucash

   >

   > Don't see any of these

   You may have disabled backup file generation.

   <snip>

   > > "Saved reports" is a bit of an outlier. It is a single file that
   contains

   > > all "Saved report configurations" you have created in gnucash. For

   > > historical reasons this file is shared by all your "Data files". It
   is

   > > found in GNC_DATA_HOME and is called saved-reports-<version>

   >

   > 3 files; -2.8,

   > -2.8~ and -2.8-backup suffixes. If the 2.8 is the GNC version, that
   means

   > that my recollection of seeing "1.something" in Synaptic is faulty.

   >

   2.8 is the compatibility version and actually refers to gnucash 3.x (a
   small historical hiccup).

   <snip>

   > A few final remarks:

   >

   > * You never mentioned this, but normally gnucash would pop up a
   message when

   > it has attempted this migration. Did you actually get this message ?

   >

   > No. If the migration occurred during the Ubuntu 20.04 -> 22.04
   upgrade, I

   > would not have seen it go by in the torrent  generated by the
   upgrader. If

   > it showed such a message the first time I ran gnucash after the
   upgrade, I

   > missed seeing it.

   >

   It should be displayed the first time you run gnucash after the
   upgrade. So you may have missed it.

   >

   > * You mentioned you were migrating from gnucash 1.x. Was that really
   the

   > previous version of gnucash you ran on your system, or just that the
   data

   > file you now opened was last opened with gnucash 1.x ? Somewhere in
   the 2.x

   > series we switched backends for these preferences (from the old GConf
   to

   > the newer DConf). Migration between these two backends has been done

   > somewhere between 2.x and 3.x, but that migration code is no longer
   present

   > in gnucash 4.x. So if you really never ran gnucash 2.x and 3.x, this
   means

   > all your preferences have been reset to default. In that case you
   probably

   > want to go through your preferences again in "Edit->Preferences" to
   check

   > if they are still as you want them to be.

   >

   > That is what I found late yesterday. I had reported that my Scheduled

   > Transactions were not being posted, and John Ralls pointed me to the
   ST

   > section in Preferences. Sure enough, none of the boxes were checked,
   and

   > manually running Actions/Scheduled Transactions/Since Last  Run
   entered all

   > of the delinquents. However when I called up dconf-editor, I found a
   folder

   > /org/gnucash with 7 subfolders, one of which is GnuCash. Oddly,
   GnuCash

   > contains 6 subfolders named the same as ones in its parent, and both
   sets

   > of folders contain folders /dialogs/scheduled-trans/since-last-run
   with

   > binary keys show-file-at-open and show-notify-window-at-file-open
   that are

   > enabled. It appears that GConf did get migrated to DConf but gnucash
   isn't

   > reading dconf.

   Considering you were previously on Ubuntu 20.04LTS the most recent
   gnucash on that system was 3.8b. The 1: in the package version number
   is a specific packaging prefix. I used to know what it was about. I do
   know it's not relevant to determine the actual gnucash version. So
   you're good.

   And indeed the migration to dconf has already happened by then.

   Unfortunately you are caught in yet another migration, which happens
   when upgrading to anything more recent than gnucash 4.6. For
   compatibility reasons with Gtk and flatpak we were forced to move our
   dconf settings from

   /org/gnucash to /org/gnucash/GnuCash

   That's why you find both trees when looking with dconf-editor. For some
   reason this migration doesn't seem to have run for your system and
   hence the preferences are not copied from the old to the new location.
   I don't know why that failed. This migration is only attempted once by
   default and failures are logged in the gnucash trace file.
   Unfortunately if you rerun gnucash after this first attempt, the trace
   file gets overwritten.

   You could try to retrigger this migration by manipulating dconf like
   so:

   * Open dconf-editor

   * Navigate to /org/gnucash/GnuCash/general

   * Select "prefs-version"

   * In the details that appear, select "Use Default"

   * Click "Apply" bottom right

   Next time you start gnucash the preferences migration logic should
   rerun. You can then check the trace file for messages regarding the
   migration.

   For more details in the trade file though you could run gnucash as
   follows:

   gnucash --log "gnc.app-utils.gsettings=info"

   or for very detailed output

   gnucash --log "gnc.app-utils.gsettings=debug"

   I would be interested in the output of the latter (to be run right
   after resetting "prefs-version" in dconf-editor of course).

   Regards,

   Geert

   --
   What was that about a rising tide lifting all boats? What if you don't
   have a boat?
      — Eugene Robinson


More information about the gnucash-user mailing list