[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