Solved: disappearing data or correupt data file
Jack
ostroffjh at users.sourceforge.net
Mon Oct 9 20:54:30 BST 2023
[trimming lots of the starting history]
On 10/8/23 03:40, Thomas Baumgart via KMyMoney-devel wrote:
> I re-visited this issue and noticed a possibility that could cause the
> problem.
> https://invent.kde.org/office/kmymoney/-/commit/edb22bd2be7dd7c29bd94e14f6a4632866c44ccc
> should fix it.
>
> The reason is when erroneous entries are detected during writing (see the
> code following the above change which contains continue statements that
> cause to reach the m_writer->writeEndElement() line again. Loop twice and you
> get </PRICES> in the first iteration and </KMYMONEY-FILE> during the second
> one. Only in that case another <PRICEPAIR> can be issued. Resetting the flag
> immediately prevents issuing the </PRICES> and </KMYMONEY-FILE> markers
> in this situation.
>
> @Jack: I expect those weird price entries to happen during OFX import. So maybe
> you can check in that area (OFX prices imported into the last good data file).
Bingo! It took me a while to track it down and replicate it. It turns
out the problem was NOT created by an OFX import (at least not directly.)
As I think I've complained in the past, Merrill Lynch will sometimes
download transactions for security activities using a security name
different from the "real" name, such as by including a date or price in
the name. Usually, KMM just creates these securities, which I call
"bogus." I say usually because I've recently had cases where KMM said
that the security being imported did not already exist in the investment
account being imported, and do I want to create it or not? The problem
with saying no is that it apparently stops importing any further
transactions for that account.
In this case, such a "bogus" security (E000522) had been created some
time ago, along with an account for it in an investment account, as well
as two prices, presumably from sell transactions. I edited the
transactions to use the correct security. I then deleted the security
from the Securities tab of the investments view. Apparently, this
neither deleted the security account nor the prices for it. I'm
guessing this isn't exactly what I did originally, as on saving, I now
got a Consistency Check error "Security "E000522' not found, which I do
not recall seeing before. However, the file saved is essentially the
same as what I've been calling the first bad file. (Note the consistency
check result says "The consistency check has found no issues in your
data. Details are presented below." with "Consistency check failed:"
the above error message, and the path to mymoneyfile.cpp:3103 (from the
appimage I am curently using.)
I'm now pretty sure that the four "bad" auto backup files were saved
sequentially, thus essentially showing the same error, but accumulating
the changes I had made during reconciliation. I then closed KMyMoney,
and although I didn't notice any errors on reading the latest saved
file, it clearly stopped reading at the early </KMYMONEY-FILE> thus
missing many of the prices and all my custom reports.
How many separate bug reports should this generate? (Even excluding the
one Thomas has already fixed - which I will confirm works, now that I
can replicate the problem.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20231009/030db6aa/attachment.htm>
More information about the KMyMoney-devel
mailing list