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 153183 - deleting the split of the current account crashes gnucash
deleting the split of the current account crashes gnucash
Status: VERIFIED FIXED
Product: GnuCash
Classification: Other
Component: Register
1.8.x
Other Linux
: Normal critical
: ---
Assigned To: David Hampton
David Hampton
: 126471 158474 160139 172160 302297 303357 304929 312076 321330 322583 325100 336427 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-09-20 18:39 UTC by Micha Lenk
Modified: 2018-06-29 20:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Micha Lenk 2004-09-20 18:39:52 UTC
1. open a splitted transaction from an involved account
2. delete all values of the split by deleting each value cell by cell
3. click on an other split of the *same* transaction
gnucash will immediately *CRASH*

Workaround: Don't do that this way.

Bug-Buddy's Backtrace:
Backtrace was generated from '/usr/bin/guile-1.6'

(no debugging symbols found)...Using host libthread_db library
"/lib/tls/libthread_db.so.1".
(no debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...[Thread debugging using libthread_db enabled]
[New Thread 1076236416 (LWP 3843)]
(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...(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)...0x400d140e in
__waitpid_nocancel () from /lib/tls/libpthread.so.0
  • #0 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #1 gnome_init
    from /usr/lib/libgnomeui.so.32
  • #2 <signal handler called>
  • #3 xaccTransGetDate
    from /usr/lib/gnucash/libgw-engine.so.0
  • #4 gnc_split_register_load
    from /usr/lib/gnucash/libgncmod-ledger-core.so.0
  • #5 gnc_ledger_display_find_by_query
    from /usr/lib/gnucash/libgncmod-ledger-core.so.0
  • #6 gnc_ledger_display_get_parent
    from /usr/lib/gnucash/libgncmod-ledger-core.so.0
  • #7 gnc_resume_gui_refresh
    from /usr/lib/gnucash/libgncmod-app-utils.so.0
  • #8 gnc_resume_gui_refresh
    from /usr/lib/gnucash/libgncmod-app-utils.so.0
  • #9 gnc_split_register_set_read_only
    from /usr/lib/gnucash/libgncmod-ledger-core.so.0
  • #10 gnc_table_set_virt_cell_cursor
    from /usr/lib/gnucash/libgncmod-register-core.so.0
  • #11 gnc_table_move_cursor_gui
    from /usr/lib/gnucash/libgncmod-register-core.so.0
  • #12 gnc_table_verify_cursor_position
    from /usr/lib/gnucash/libgncmod-register-core.so.0
  • #13 gnc_table_wrap_verify_cursor_position
    from /usr/lib/gnucash/libgncmod-register-core.so.0
  • #14 gnucash_sheet_cursor_set_from_table
    from /usr/lib/gnucash/libgncmod-register-gnome.so.0
  • #15 gnucash_sheet_modify_current_cell
    from /usr/lib/gnucash/libgncmod-register-gnome.so.0
  • #16 gtk_marshal_BOOL__POINTER
    from /usr/lib/libgtk-1.2.so.0
  • #17 gtk_signal_set_funcs
    from /usr/lib/libgtk-1.2.so.0
  • #18 gtk_signal_emit
    from /usr/lib/libgtk-1.2.so.0
  • #19 gtk_widget_event
    from /usr/lib/libgtk-1.2.so.0
  • #20 gtk_propagate_event
    from /usr/lib/libgtk-1.2.so.0
  • #21 gtk_main_do_event
    from /usr/lib/libgtk-1.2.so.0
  • #22 gdk_wm_protocols_filter
    from /usr/lib/libgdk-1.2.so.0
  • #23 ??
  • #24 ??
  • #25 ??
  • #26 g_slist_free_1
    from /usr/lib/libglib-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
    from /usr/lib/gnucash/libgncgnome.so.0
  • #32 ??
    from /usr/lib/gnucash/gnucash/libgw-gnc.so.0
  • #33 ??
  • #34 ??
  • #35 ??
  • #36 ??
  • #37 ??
  • #38 ??
  • #39 ??
  • #40 ??
    from /usr/lib/libguile.so.12
  • #41 ??
  • #42 ??
  • #43 ??
  • #44 ??
  • #45 ??
  • #46 ??
    from /usr/lib/libguile.so.12
  • #47 ??
  • #48 scm_ceval
    from /usr/lib/libguile.so.12

Comment 1 Derek Atkins 2004-09-20 18:54:53 UTC
I can reproduce.  Better stack trace:

0xffffe002 in ?? ()
(gdb) where
  • #0 ??
  • #1 gnome_segv_handle
    at gnome-init.c line 664
  • #2 <signal handler called>
  • #3 xaccTransGetDate
    at Transaction.c line 2688
  • #4 gnc_split_register_load
    at split-register-load.c line 403
  • #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_button_press_event
    at gnucash-sheet.c line 1366
  • #15 gtk_marshal_BOOL__POINTER
    at gtkmarshal.c line 28
  • #16 gtk_signal_real_emit
    at gtksignal.c line 1492
  • #4 gnc_split_register_load
    at split-register-load.c line 403
$1 = (SRInfo *) 0x837b590
(gdb) p *info
$2 = {blank_split_guid = {data = "{÷\177!+~ÒÉú÷\027ʾZÀÖ", 
    __align_me = 562034555}, pending_trans_guid = {
    data = "¦vÇ\aÇið»\030Ó=é\"\203D¥", __align_me = 130512550}, 
  cursor_hint_trans = 0x8295160, cursor_hint_split = 0x8296210, 
  cursor_hint_trans_split = 0x8296118, 
  cursor_hint_cursor_class = CURSOR_CLASS_SPLIT, hint_set_by_traverse = 0, 
  traverse_to_new = 0, exact_traversal = 1, trans_expanded = 1, 
  reg_loaded = 0, full_refresh = 1, default_account = {
    data = "L'¶gâÁ[\al£\2032\031\227\203o", __align_me = 1739990860}, 
  last_date_entered = 1095652800, blank_split_edited = 0, 
  show_present_divider = 1, first_pass = 0, change_confirmed = 0, 
  user_data = 0x8143120, get_parent = 0x40291e4c <gnc_ledger_display_parent>, 
  template = 0, template_account = {data = '\0' <repeats 15 times>, 
    __align_me = 0}, debit_str = 0x83d82f8 "Deposit", 
  credit_str = 0x83d8318 "Withdrawal", tdebit_str = 0x838eff8 "Tot Deposit", 
  tcredit_str = 0x8397f10 "Tot Withdrawal", saved_slist = 0x836f420}
(gdb) p multi_line
$3 = 0
(gdb) p split
$4 = (Split *) 0x8296118
(gdb) p *split
$5 = {guid = {data = "\0002\023Bø2\023B»\a\aå\021\000\000", 
    __align_me = 1108554240}, book = 0x42133200, acc = 0x42133268, lot = 0x0, 
  parent = 0x11, memo = 0x42133200 "", action = 0x42133268 "", kvp_data = 0x0, 
  reconciled = 17 '\021', date_reconciled = {tv_sec = 4761204654427288064, 
    tv_nsec = 0}, value = {num = 4761204206642135057, denom = 1108554344}, 
  amount = {num = 4761204206642135057, denom = 1108554344}, balance = {
    num = 4761204206642135057, denom = 1108554344}, cleared_balance = {
    num = 4761204206642135057, denom = 1108554344}, reconciled_balance = {
    num = 4761204206642135065, denom = 1108554360}, idata = 0}
(gdb) p slist
$6 = (GList *) 0x3b50
(gdb) p *slist
Cannot access memory at address 0x3b50
(gdb) p pending_trans
$7 = (Transaction *) 0x8295160
Comment 2 Micha Lenk 2004-09-23 12:39:40 UTC
Clarification:
In step 2 you must delete the values of the split of the current account.
Comment 3 Christian Stimming 2004-10-05 07:50:39 UTC
Maybe this is related to bug#128393 . Changing Severity to Critical because it's
a crasher.
Comment 4 Christian Stimming 2004-11-17 10:37:39 UTC
*** Bug 158474 has been marked as a duplicate of this bug. ***
Comment 5 Christian Stimming 2004-12-03 10:44:56 UTC
*** Bug 160139 has been marked as a duplicate of this bug. ***
Comment 6 Christian Stimming 2004-12-04 21:39:57 UTC
I am wondering whether this might be fixed by adding something like 
if (!trans) 
  continue; 
 
in split-register-load.c line 367 (1-8-branch) or line 355 (HEAD)... 
Comment 7 Christian Stimming 2005-03-31 11:40:48 UTC
*** Bug 172160 has been marked as a duplicate of this bug. ***
Comment 8 Christian Stimming 2005-04-29 07:47:48 UTC
*** Bug 302297 has been marked as a duplicate of this bug. ***
Comment 9 Christian Stimming 2005-04-29 07:50:28 UTC
Just as a reminder: This bug is probably identical to bug#141287 and bug#128393
and also similar to bug#126471. Plus we got all these additional duplicates. And
I'm still wondering whether we shouldn't add that check that I mentioned in the
comment #6
Comment 10 Olav Vitters 2005-05-07 20:52:17 UTC
*** Bug 303357 has been marked as a duplicate of this bug. ***
Comment 11 Elijah Newren 2005-05-22 02:17:37 UTC
*** Bug 304929 has been marked as a duplicate of this bug. ***
Comment 12 Christian Stimming 2005-11-14 10:01:50 UTC
*** Bug 321330 has been marked as a duplicate of this bug. ***
Comment 13 Christian Stimming 2005-11-28 09:55:47 UTC
*** Bug 312076 has been marked as a duplicate of this bug. ***
Comment 14 Christian Stimming 2005-11-29 09:27:10 UTC
*** Bug 322583 has been marked as a duplicate of this bug. ***
Comment 15 Josh Sled 2006-02-21 18:49:55 UTC
Believed fixed in r13343.
Comment 16 Christian Stimming 2006-03-29 07:36:46 UTC
*** Bug 336427 has been marked as a duplicate of this bug. ***
Comment 17 Chris Shoemaker 2006-05-24 20:02:36 UTC
*** Bug 126471 has been marked as a duplicate of this bug. ***
Comment 18 Chris Shoemaker 2006-05-24 20:10:49 UTC
*** Bug 325100 has been marked as a duplicate of this bug. ***
Comment 19 John Ralls 2018-06-29 20:47:20 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=153183. Please update any external references or bookmarks.