After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 141287 - Segmentation fault in register/general ledger
Segmentation fault in register/general ledger
Status: VERIFIED FIXED
Product: GnuCash
Classification: Other
Component: Register
1.8.x
Other Linux
: Normal critical
: ---
Assigned To: David Hampton
David Hampton
: 162364 316624 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-04-28 11:46 UTC by Darrell Burk
Modified: 2018-06-29 20:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Darrell Burk 2004-04-28 11:46:14 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 ?? ()

Thread 1 (Thread 1075020960 (LWP 4925))

  • #0 ??
  • #1 gnome_init
    from /usr/lib/libgnomeui.so.32
  • #2 <signal handler called>
  • #3 xaccTransGetDate
    at Transaction.c line 2688
  • #4 gnc_split_register_load
    at split-register-load.c line 379
  • #5 gnc_ledger_display_refresh_internal
    at gnc-ledger-display.c line 830
  • #6 gnc_gui_refresh_internal
    at gnc-component-manager.c line 763
  • #7 gnc_resume_gui_refresh
    at gnc-component-manager.c line 644
  • #8 gnc_split_register_move_cursor
    at split-register-control.c line 361
  • #9 gnc_table_move_cursor_internal
    at table-allgui.c line 760
  • #10 gnc_table_move_cursor_gui
    at table-allgui.c line 879
  • #11 gnc_table_verify_cursor_position
    at table-allgui.c line 907
  • #12 gnc_table_wrap_verify_cursor_position
    at table-allgui.c line 970
  • #13 gnucash_sheet_cursor_move
    at gnucash-sheet.c line 284
  • #14 gnucash_sheet_key_press_event
    at gnucash-sheet.c line 1759
  • #15 gtk_marshal_BOOL__POINTER
    from /usr/lib/libgtk-1.2.so.0
  • #16 gtk_signal_set_funcs
    from /usr/lib/libgtk-1.2.so.0
  • #17 gtk_signal_emit
    from /usr/lib/libgtk-1.2.so.0
  • #18 gtk_widget_event
    from /usr/lib/libgtk-1.2.so.0
  • #19 gtk_window_set_default_size
    from /usr/lib/libgtk-1.2.so.0
  • #20 gtk_marshal_BOOL__POINTER
    from /usr/lib/libgtk-1.2.so.0
  • #21 gtk_signal_set_funcs
    from /usr/lib/libgtk-1.2.so.0
  • #22 gtk_signal_emit
    from /usr/lib/libgtk-1.2.so.0
  • #23 gtk_widget_event
    from /usr/lib/libgtk-1.2.so.0
  • #24 gtk_propagate_event
    from /usr/lib/libgtk-1.2.so.0
  • #25 gtk_main_do_event
    from /usr/lib/libgtk-1.2.so.0
  • #26 gdk_wm_protocols_filter
    from /usr/lib/libgdk-1.2.so.0
  • #27 g_get_current_time
    from /usr/lib/libglib-1.2.so.0
  • #28 g_get_current_time
    from /usr/lib/libglib-1.2.so.0
  • #29 g_main_run
    from /usr/lib/libglib-1.2.so.0
  • #30 gtk_main
    from /usr/lib/libgtk-1.2.so.0
  • #31 gnc_ui_start_event_loop
    at top-level.c line 538
  • #32 gw__tmp799_gnc_ui_start_event_loop_wrapper
    at gw-gnc.c line 276
  • #33 scm_ceval
    from /usr/lib/libguile.so.12
  • #34 scm_ceval
    from /usr/lib/libguile.so.12
  • #35 scm_ceval
    from /usr/lib/libguile.so.12
  • #36 scm_ceval
    from /usr/lib/libguile.so.12
  • #37 scm_i_eval_x
    from /usr/lib/libguile.so.12
  • #38 scm_primitive_eval_x
    from /usr/lib/libguile.so.12
  • #39 scm_primitive_eval
    from /usr/lib/libguile.so.12
  • #40 scm_internal_dynamic_wind
    from /usr/lib/libguile.so.12
  • #41 scm_eval_x
    from /usr/lib/libguile.so.12
  • #42 scm_shell
    from /usr/lib/libguile.so.12
  • #43 scm_init_guile
    from /usr/lib/libguile.so.12
  • #44 scm_init_guile
    from /usr/lib/libguile.so.12
  • #45 scm_boot_guile
    from /usr/lib/libguile.so.12
  • #46 main
  • #47 __libc_start_main
    from /lib/tls/libc.so.6
  • #0 ??

Comment 1 Christian Stimming 2004-04-29 08:14:06 UTC
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.
Comment 2 Darrell Burk 2004-04-29 11:33:13 UTC
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.
Comment 3 Derek Atkins 2004-04-29 13:35:02 UTC
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... ;)
Comment 4 Christian Stimming 2005-01-03 14:17:14 UTC
*** Bug 162364 has been marked as a duplicate of this bug. ***
Comment 5 Christian Stimming 2005-09-19 08:35:55 UTC
*** Bug 316624 has been marked as a duplicate of this bug. ***
Comment 6 Phil Longstaff 2006-02-01 02:51:08 UTC
Reproduced with 1.9.0 r13019
Comment 7 Josh Sled 2006-02-21 18:49:35 UTC
Believed fixed in r13343.
Comment 8 John Ralls 2018-06-29 20:43:16 UTC
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.