[GNC] CRIT <gnc.pricedb> [gnc_price_unref()] last unref while price in database

John Ralls jralls at ceridwen.us
Tue Apr 7 13:33:51 EDT 2020



> On Apr 7, 2020, at 9:56 AM, RobBruce <rgwbruce at gmail.com> wrote:
> 
> I'm running 3.4 on Windows 10.
> 
> Until this afternoon, it's been running very smoothly.
> 
> On trying to load GnuCash, I got a message that there was an error parsing
> the file E:\Documents\gnucash-rob\rob-gnucash.gnucash 
> 
> I did look for solutions, and opened the trace log, which contains:
> 
> * 12:49:21  WARN <gnc.app-utils> Could not spawn perl: Failed to execute
> child process (No such file or directory)
> * 12:49:21  WARN <gnc.backend.xml> Could not read from compressed file
> 'E:\Documents\gnucash-rob\rob-gnucash.gnucash'. The error is:
> 'E:\Documents\gnucash-rob\rob-gnucash.gnucash: invalid block type' (-3)
> * 12:49:21  CRIT <gnc.backend.file.sixtp> parse failed at:
> * 12:49:21  CRIT <gnc.pricedb> [gnc_price_unref()] last unref while price in
> database
> * 12:49:21  CRIT <gnc.pricedb> [gnc_price_unref()] last unref while price in
> database
> <many lines deleted>
> * 12:49:21  WARN <gnc.backend> [GncXmlBackend::load()] Syntax error in Xml
> File E:\Documents\gnucash-rob\rob-gnucash.gnucash
> 
> I'm not aware of having made any change to the file structure - is this
> recoverable, please? 

It looks like you have a corrupted file. Try loading the last backup, which should be named something like rob-gnucash.gnucash.20200405154732.gnucash; the numbers in the middle are a date stamp, yyyymmddhhmmss, for the subsequent save. Depending on what work you did in the last session you may be able to recover some of it by replaying the corresponding log file with File>Import>Replay log file.

You should also check the drive with `chkdsk` and `wmic diskdrive get status` to make sure that the corruption was something random like a cosmic ray and not the first sign of needing a new one.

Regards,
John Ralls



More information about the gnucash-user mailing list