[GNC] Crash While Editing Transactions

David T. sunfish62 at yahoo.com
Fri Dec 2 02:30:07 EST 2022


Hello,

Summary: Using GnuCash 4.11 under Windows 10, I was deleting erroneous 
Gains transactions in a Mutual Fund account when GnuCash crashed out.

Details: I was entering sales of mutual fund shares and using the Lots 
feature to calculate gains for the sales. This generally works well for 
me, but can get messy for holdings with many small lots. This was the 
case for the fund I was working on at the time of the crash. I had 
entered the aggregated sale, and the Lots feature broke the sale into 
multiple smaller splits, each with its own gain transaction, based on 
the underlying lots. This is as it is designed (but can be extremely 
confusing, BTW). In this case, the numbers generated by GnuCash didn't 
match the financial institution statement, so I was removing the added 
sales splits and gains transactions from the register when the crash 
occurred. To expand on this: I had opened the sale entry, which had 
received extra splits for each lot involved, deleted the extra splits 
and adjusted the primary split to reflect the overall number of shares 
sold, and was in process of deleting the extra gains transactions when 
GnuCash simply disappeared.

I suspect that when I attempted to delete the lot-generated gains 
transactions, some Lot-based housekeeping caused the program to fail.

I am attaching the trace file here for reference.

Best,

David T.
-------------- next part --------------
* 09:33:54 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:33:54 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:33:54 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:33:54 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:33:54 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:39:07 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:39:07 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:39:07 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:39:17 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:39:17 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:39:17 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:41:08 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:41:08 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:41:08 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:41:08 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:41:08 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:44:39 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:44:39 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:44:39 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:47:27 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:27 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:27 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:27 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:27 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:27 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:28 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:28 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:28 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:29 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:47:29 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:47:29 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:47:29 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:47:29 ERROR <Gtk> gtk_list_store_set_valist: assertion 'iter_is_valid (iter, list_store)' failed
* 09:47:29 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:32 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:32 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:32 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:33 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:33 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:33 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:40 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 3"! (too fat!) opening amt=150000/10000 split amt=150000/10000 baln=280000/10000
* 09:47:40 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 3"! (too fat!) opening amt=150000/10000 split amt=150000/10000 baln=280000/10000
* 09:47:40 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 2"! (too fat!) opening amt=50000/10000 split amt=50000/10000 baln=100000/10000
* 09:47:40 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 2"! (too fat!) opening amt=50000/10000 split amt=50000/10000 baln=100000/10000
* 09:47:40 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:40 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 3"! (too fat!) opening amt=150000/10000 split amt=150000/10000 baln=280000/10000
* 09:47:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 3"! (too fat!) opening amt=150000/10000 split amt=150000/10000 baln=280000/10000
* 09:47:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 2"! (too fat!) opening amt=50000/10000 split amt=50000/10000 baln=100000/10000
* 09:47:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 2"! (too fat!) opening amt=50000/10000 split amt=50000/10000 baln=100000/10000
* 09:47:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:47:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:49:00 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 3"! (too fat!) opening amt=150000/10000 split amt=150000/10000 baln=280000/10000
* 09:49:00 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 3"! (too fat!) opening amt=150000/10000 split amt=150000/10000 baln=280000/10000
* 09:49:00 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 2"! (too fat!) opening amt=50000/10000 split amt=50000/10000 baln=100000/10000
* 09:49:00 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 2"! (too fat!) opening amt=50000/10000 split amt=50000/10000 baln=100000/10000
* 09:49:00 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:49:00 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 1"! (too fat!) opening amt=140000/10000 split amt=140000/10000 baln=280000/10000
* 09:49:00 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:49:00 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:49:00 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:51:26 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:51:26 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:51:26 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:52:10 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:52:10 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:52:10 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:52:10 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:52:10 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:52:10 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:52:59 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:52:59 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:52:59 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:55:01 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:55:01 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:55:01 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 09:56:20 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 09:56:20 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 09:56:20 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 10:00:42 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 6"! (too thin!) opening amt=140000/10000 split amt=-300000/10000 baln=-160000/10000
* 10:00:42 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 6"! (too thin!) opening amt=140000/10000 split amt=-300000/10000 baln=-160000/10000
* 10:00:42 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 6"! (too thin!) opening amt=140000/10000 split amt=-300000/10000 baln=-160000/10000
* 10:00:42 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 6"! (too thin!) opening amt=140000/10000 split amt=-300000/10000 baln=-160000/10000
* 10:00:55 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 10:00:55 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 10:00:55 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 10:01:22 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 4"! (too thin!) opening amt=90000/10000 split amt=-160000/10000 baln=-70000/10000
* 10:01:22 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 4"! (too thin!) opening amt=90000/10000 split amt=-160000/10000 baln=-70000/10000
* 10:01:22 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 4"! (too thin!) opening amt=90000/10000 split amt=-160000/10000 baln=-70000/10000
* 10:01:23 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 4"! (too thin!) opening amt=90000/10000 split amt=-160000/10000 baln=-70000/10000
* 10:01:23 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 4"! (too thin!) opening amt=90000/10000 split amt=-160000/10000 baln=-70000/10000
* 10:01:23 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 4"! (too thin!) opening amt=90000/10000 split amt=-160000/10000 baln=-70000/10000
* 10:01:30 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 10:01:30 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 10:01:30 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 10:01:51 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 5"! (too thin!) opening amt=20000/10000 split amt=-70000/10000 baln=-50000/10000
* 10:01:51 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 5"! (too thin!) opening amt=20000/10000 split amt=-70000/10000 baln=-50000/10000
* 10:01:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 5"! (too thin!) opening amt=20000/10000 split amt=-70000/10000 baln=-50000/10000
* 10:01:52 ERROR <gnc.lots> [xaccSplitComputeCapGains()] Malformed Lot "Lot 5"! (too thin!) opening amt=20000/10000 split amt=-70000/10000 baln=-50000/10000
* 10:01:59 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 10:01:59 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 10:01:59 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed
* 10:02:12 ERROR <gnc.engine> void xaccAccountBeginEdit(Account*): assertion 'acc' failed
* 10:02:12 ERROR <gnc.engine> xaccSplitSetAccount: assertion 's && acc' failed
* 10:02:12 ERROR <gnc.engine> void xaccAccountCommitEdit(Account*): assertion 'acc' failed


More information about the gnucash-user mailing list