GNOME Bugzilla – Bug 141287
Segmentation fault in register/general ledger
Last modified: 2018-06-29 20:43:16 UTC
Description of Problem: I consistently experience segmentation faults in register windows, and particularly the general ledger window. I have not yet fully determined the exact steps needed to reproduce the problem, but I generally know when I'm at risk to have it happen. My data file is large, about 10MB, with about 10 years of data. Steps to reproduce the problem: 1. Open a register or the general ledger 2. View the register in auto-split mode or general ledger mode 3. Move to an existing transaction, or create a new transaction that matches an existing one so that it will be auto-filled with split items. 4. Make a change to the account on one of the split lines; OR delete a split line by deleting the contents of all the fields including the account field; OR sometimes make a change to the amount on one of the split lines; OR in an account register, change the account on a split line that ties the transaction to the account, so that it no longer ties it to the account 5. Tab off of the split line you just changed. Most likely you will experience the segmentation fault. How often does this happen? This happens about 90% of the time that I perform one of the actions listed above. BugBuddy crash information: Backtrace was generated from '/usr/bin/guile' (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...[New Thread 1075020960 (LWP 4925)] (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...0xffffe002 in ?? ()
+ Trace 46473
Thread 1 (Thread 1075020960 (LWP 4925))
Thank you for reporting this bug. This is obviously closely related to bug#108347 (and maybe bug#128393, too), but the stack trace is nevertheless slightly different (#9 gnc_split_register_auto_completion there, #8 gnc_split_register_move_cursor here). Increasing Severity because of this confirmation. By the way, what is your exact gnucash version? The current release is 1.8.9. As for your described action "delete a split line by deleting the contents of all the fields including the account field" we would like to remark that deleting one split line should be done by clicking "delete" and then selecting "delete this split line", not by manually deleting the contents of all fields. But nevertheless your described problems obviously point to an actual bug in gnucash.
I just upgraded to version 1.8.9 last week in the hope that this problem was fixed in it. I have only used it enough to confirm that it's still there! As for deleting a split line in the manner I describe, I suggest that this be supported as a valid approach. My main reason for this is to allow all of the normal processes of entering transactions to be accomplished using only the keyboard. Perhaps I am not the norm, but at least 50% of the transactions I enter are at one of three or four places (WalMart, Lowe's, department stores) and generally contain several split lines for the different expense accounts involved (because you can get everything under the sun at these places!). The expense accounts vary from transaction to transaction, and often I find that when I'm entering a new transaction I don't need one or more of the split lines that were entered by auto-completion. My normal pattern for using the register is to tab through it making data changes in each field as I pass it; when I need to delete a split, it's lightning fast to type a sequence line tab-tab-del-tab-del-tab-del-tab... As soon as I tab off of the empty split, poof, it's gone. Much faster than moving over to the mouse, clicking a toolbar button or bringing up a context menu, etc.
Clearing out all the entries of a split will not delete the split. Just like clearing out all entries from a transaction will not delete the transaction. It will just leave you with an empty split (or an empty transaction). Perhaps GnuCash shouldn't let you do that at all... ;)
*** Bug 162364 has been marked as a duplicate of this bug. ***
*** Bug 316624 has been marked as a duplicate of this bug. ***
Reproduced with 1.9.0 r13019
Believed fixed in r13343.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=141287. Please update any external references or bookmarks.