[GNC] Exiting gnucash Lock file Vol 226, Issue 57

Stu Perlman sgperlman at gmail.com
Sat Jan 22 17:16:29 EST 2022


Hello,

It's been quite a while since I have chimed in here.  At the risk of going
off-topic for a moment, I'd like to start by expressing my gratitude to the
entire team that develops and maintains GnuCash. I switched from Quicken on
1/1/2020 and have never looked back. I started with GnuCash 2.8, then a few
months ago I upgraded to a more recent release. The feature that got added
to allow me to type any part of an account name when entering splits has
been a game-changer for me and has made me so much more efficient.  So
consider this a belated thank you just for that!

Back to the topic at hand, I actually have been running MySQL as the data
store for the past two years. I agree wholeheartedly that it's not for the
user who is not well seasoned with the setup and care of an RDMS. I have
twice had to deal with the server instance randomly not wanting to start
and ended up having to reinstall the server.
On the other hand, I also do a lot of my own custom reporting and analytics
from MS Access, and the performance that the MySQL back-end is providing me
is pretty impressive.

I too have danced with the devil (a.k.a. "voided the warranty") by doing
selective data updates. I am mostly on Windows and as far as I can tell the
Python bindings were not an option for me like they might be on Linux?
Regardless, I tend to mostly update transaction descriptions (or notes or
memos, I always get the 3 confused) values to implement my homegrown naming
rules. On occasion, I'll manually clean up funky data -- such as a bunch of
splits that have no $ value.  I only do these updates when the GnuCash app
is closed. I learned pretty quickly to stay away from anything that the
GnuCash application is actually managing in memory such as the budget data.
I work on back-end database systems for a living and am used to having to
figure out the *rules* and logic that I may wish were in the DB layer but
are not. The ability to get any the raw data store when and how I want is
one thing that makes GnuCash so appealing to me vs a product like
Quickbooks which basically abstracts everything (and can be painfully slow
to boot).

One thing that I have never been able to figure out is if I leave the
regular GnuCash application running for a few hours when I return to my PC
and try to do anything it will tell me "Unable to Save to Database" and I
then must exit GnuCash and restart it to clear that error.

Thank You once again for everything!


On Fri, Jan 21, 2022 at 11:44 AM john <jralls at ceridwen.us> wrote:

> Very few users will be able to manage a MySQL database server safely.
> Fortunately GnuCash provides a SQLite3 backend that doesn't require any
> database admin skills. The only caveat is that unlike XML it doesn't write
> a fresh file every session so you need to arrange backups on your own; the
> OS's built-in snapshotting facility (rather grandly named Time Machine on
> macOS and simply Windows Backup on Windows) is good for this, just make
> sure that your GnuCash data folder is included in its list of things to
> back up.
>
> Regards,
> John Ralls
>
>
> > On Jan 21, 2022, at 6:45 AM, Thomas Forrester <tlforrester at gmail.com>
> wrote:
> >
> > Seems like a lot of work. No doubt you're finding interesting anomalies,
> > but...
> >
> > Rather than using xml data files, which have always seemed odd to me (a
> la,
> > this thread), if you use a MySQL database instead, all saves are
> automatic
> > and completely bypass the need for all this testing.  You still have to
> > save each transaction, or edits to a transaction (Enter key), but
> otherwise
> > you can freely close the program without any worries about loosing data,
> > and there is no save prompt on the way out.  I've run with a MySQL
> database
> > from the start without any problems at all.  Just a thought, and I
> > recognize some may have reasons not to choose that path, although I'm not
> > sure what they would be.
> >
> > On Thu, Jan 20, 2022, 11:22 PM Peter <pandem at iinet.net.au> wrote:
> >
> >>   John,
> >>   Well yes it did terminate or close.
> >>   gnucash was closed and was then reopened without any reported issue.
> >>   Other than it failed to save the changes and delete the lock file.
> >>   Maybe if you could tell me how to confirm it closed or terminated
> >>   correctly, I will go and test and see what  happens.
> >>   This issue I noted in Test#2 was actually caused by me not following
> my
> >>   own test process.
> >>
> >>   On 21/01/2022 04:48, John Layman wrote:
> >>
> >> The test cases that appear to have failed aren't conclusive, however,
> >> without co
> >> nfirming that GnuCash had actually terminated, and terminated normally.
> >>
> >> -----Original Message-----
> >> From: gnucash-user [1]<gnucash-user-bounces+john.layman=
> >> ieee.org at gnucash.org> On
> >> Behalf Of Peter
> >> Sent: Thursday, January 20, 2022 9:39 AM
> >> To: [2]gnucash-user at gnucash.org
> >> Subject: Re: [GNC] Exiting gnucash Lock file Vol 226, Issue 57
> >>
> >> Here is the testing methods I used to verify the issue I have noted.
> >>
> >> Selected a known small good gnucash data file.
> >> Storage Location: Local D:  c: drive is Samsung SSD and D: is Seagate
> 2TB
> >> GNUCAS
> >> H Storage type :  XML and compressed Operating system: Windows 10
> GNUCASH
> >> versio
> >> n 4.9 The opening method in ALL test was to use the GNUCASH icon on the
> >> TASKBAR
> >> and then select the recent (test) file If the LOCK file was not deleted
> it
> >> was r
> >> emoved using the windows File Explorer
> >>
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Test #1: - change, Save Button and then File->Quit
> >>
> >> Result: This was repeated 5 times each time the same result - Lock file
> >> was dele
> >> ted and the change was Saved.
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Test #2 - change then File>Quit and save at 15 seconds on timer
> >>
> >> Result: In test 5 of 5 Lock file was NOT deleted and the change was NOT
> >> saved in
> >> the data file This test was actual performed more than 5 times but I did
> >> note 5
> >> of 5 in one contiguous run. There were a few test that asked to save the
> >> transa
> >> ction prior to the question of save the file I was never able to get it
> to
> >> repea
> >> t twice in a row.
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Test #3 - change and exit File->Quit wait for the Save dialogue then let
> >> it time
> >> out
> >>
> >> Result: In test 5 of 5 Lock file was deleted and the change was saved in
> >> the dat
> >> a file
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Test #4 - change and wait for autosave then File->Quit
> >>
> >> Result: In test 5 of 5 Lock file was deleted and the change was saved in
> >> the dat
> >> a file
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Test #5 - change and wait for autosave then use X method
> >>
> >> Result: In test 5 of 5 Lock file was deleted and the change was saved in
> >> the dat
> >> a file
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Test #6 - change then use X method wait for the save dialogue and save
> at
> >> 15 sec
> >> onds on timer
> >>
> >> Result: In test 5 of 5 Lock file was NOT deleted and the change was NOT
> >> saved in
> >> the data file
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >> ---------------------
> >>
> >> Conclusion:
> >>
> >> There is an issue in exiting with the SAVE button enabled/Highlighted
> and
> >> comply
> >> ing with the dialogue to SAVE the Data file.
> >> Test#2 and Test#6
> >>
> >> Four methods of exiting that do delete the LOCK file and SAVE the latest
> >> changes
> >> A:    Waiting to exit after an Autosave  then File->Quit
> >> B:    forcing a Save by using the SAVE button then File->Quit
> >> C:    Waiting to exit after an Autosave  then the X method
> >> D:    forcing a Save by using the SAVE button then the X method
> >>
> >>  X method works if you do a SAVE using the Save Button or wait till
> after
> >> an Au
> >> tosave then exit via the X method
> >>
> >> There is an issue with exiting and relying on gnucash to save the data
> if
> >> gnucas
> >> h produces the dialogue to SAVE the data then File->Quit or the X method
> >> The Sav
> >> e does not work and the LOCK file is not deleted.
> >>
> >>  I cannot safely say I do not use the X method as I now have doubts
> about
> >> it, I
> >> may use it or I may not.
> >>
> >> Hope this helps someone as now I understand why sometimes it does work
> and
> >> does
> >> NOT work, there is a bug in it or is it a misinterpreted enhancement.
> >>
> >>
> >>
> >> _______________________________________________
> >> gnucash-user mailing list
> >> [3]gnucash-user at gnucash.org
> >> To update your subscription preferences or to unsubscribe:
> >> [4]https://lists.gnucash.org/mailman/listinfo/gnucash-user
> >> If you are using Nabble or Gmane, please see [5]
> >> https://wiki.gnucash.org/wiki/Ma
> >> iling_Lists for more information.
> >> -----
> >> Please remember to CC this list on all your replies.
> >> You can do this by using Reply-To-List or Reply-All.
> >>
> >> References
> >>
> >>   1. mailto:gnucash-user-bounces+john.layman=ieee.org at gnucash.org
> >>   2. mailto:gnucash-user at gnucash.org
> >>   3. mailto:gnucash-user at gnucash.org
> >>   4. https://lists.gnucash.org/mailman/listinfo/gnucash-user
> >>   5. https://wiki.gnucash.org/wiki/Mailing_Lists
> >> _______________________________________________
> >> gnucash-user mailing list
> >> gnucash-user at gnucash.org
> >> To update your subscription preferences or to unsubscribe:
> >> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> >> If you are using Nabble or Gmane, please see
> >> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> >> -----
> >> Please remember to CC this list on all your replies.
> >> You can do this by using Reply-To-List or Reply-All.
> >>
> > _______________________________________________
> > gnucash-user mailing list
> > gnucash-user at gnucash.org
> > To update your subscription preferences or to unsubscribe:
> > https://lists.gnucash.org/mailman/listinfo/gnucash-user
> > If you are using Nabble or Gmane, please see
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> > -----
> > Please remember to CC this list on all your replies.
> > You can do this by using Reply-To-List or Reply-All.
>
> _______________________________________________
> gnucash-user mailing list
> gnucash-user at gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> If you are using Nabble or Gmane, please see
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.
>


More information about the gnucash-user mailing list