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 125480 - crashed while entering transaction
crashed while entering transaction
Status: VERIFIED FIXED
Product: GnuCash
Classification: Other
Component: Register
1.8.x
Other other
: High critical
: ---
Assigned To: David Hampton
Chris Shoemaker
: 124979 (view as bug list)
Depends on: 130451
Blocks:
 
 
Reported: 2003-10-25 15:04 UTC by g mottster
Modified: 2018-06-29 20:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gnucash datafile for crash bug (32.36 KB, text/plain)
2003-12-18 21:16 UTC, g mottster
Details

Description g mottster 2003-10-25 15:04:24 UTC
Package: GnuCash
Severity: normal
Version: 1.8.7
Synopsis: crashed while entering transaction
Bugzilla-Product: GnuCash
Bugzilla-Component: Register

Description:
Description of Problem:  crashed while entering transaction in general
ledger

Steps to reproduce the problem:
1.  in general ledger, entered enough chars to bring forth a previous
transaction
2.  press tab

Actual Results:  crash
Expected Results:  continue entering transaction
How often does this happen?  not very often

i have "gnucash-debuginfo":
gnucash-1.8.7-1.9
gnucash-debuginfo-1.8.7-1.9
gnucash-backend-postgres-1.8.7-1.9

so what else should i do to make debugging symbols available for backtraces?


Debugging 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 1075058816 (LWP 5032)]

(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)...0xffffe002
in ??
    ()

Thread 1 (Thread 1075058816 (LWP 5032))

  • #0 ??
  • #1 gnome_init
    from /usr/lib/libgnomeui.so.32
  • #2 <signal handler called>
  • #3 gnc_split_register_guid_copy
    at split-register-model.c line 1926
  • #4 gnc_table_set_vcell
    at table-allgui.c line 679
  • #5 gnc_split_register_add_transaction
    at split-register-load.c line 110
  • #6 gnc_split_register_load
    at split-register-load.c line 401
  • #7 gnc_ledger_display_refresh_internal
    at gnc-ledger-display.c line 830
  • #8 gnc_gui_refresh_internal
    at gnc-component-manager.c line 763
  • #9 gnc_resume_gui_refresh
    at gnc-component-manager.c line 644
  • #10 gnc_split_register_auto_completion
    at split-register-control.c line 755
  • #11 gnc_split_register_traverse
    at split-register-control.c line 1381
  • #12 gnc_table_traverse_update
    at table-allgui.c line 1761
  • #13 gnucash_sheet_key_press_event
    at gnucash-sheet.c line 1752
  • #14 gtk_marshal_BOOL__POINTER
    from /usr/lib/libgtk-1.2.so.0
  • #15 gtk_signal_set_funcs
    from /usr/lib/libgtk-1.2.so.0
  • #16 gtk_signal_emit
    from /usr/lib/libgtk-1.2.so.0
  • #17 gtk_widget_event
    from /usr/lib/libgtk-1.2.so.0
  • #18 gtk_window_set_default_size
    from /usr/lib/libgtk-1.2.so.0
  • #19 gtk_marshal_BOOL__POINTER
    from /usr/lib/libgtk-1.2.so.0
  • #20 gtk_signal_set_funcs
    from /usr/lib/libgtk-1.2.so.0
  • #21 gtk_signal_emit
    from /usr/lib/libgtk-1.2.so.0
  • #22 gtk_widget_event
    from /usr/lib/libgtk-1.2.so.0
  • #23 gtk_propagate_event
    from /usr/lib/libgtk-1.2.so.0
  • #24 gtk_main_do_event
    from /usr/lib/libgtk-1.2.so.0
  • #25 gdk_wm_protocols_filter
    from /usr/lib/libgdk-1.2.so.0
  • #26 g_get_current_time
    from /usr/lib/libglib-1.2.so.0
  • #27 g_get_current_time
    from /usr/lib/libglib-1.2.so.0
  • #28 g_main_run
    from /usr/lib/libglib-1.2.so.0
  • #29 gtk_main
    from /usr/lib/libgtk-1.2.so.0
  • #30 gnc_ui_start_event_loop
    at top-level.c line 538
  • #31 gw__tmp799_gnc_ui_start_event_loop_wrapper
    at gw-gnc.c line 276
  • #32 scm_ceval
    from /usr/lib/libguile.so.12
  • #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_i_eval_x
    from /usr/lib/libguile.so.12
  • #37 scm_primitive_eval_x
    from /usr/lib/libguile.so.12
  • #38 scm_primitive_eval
    from /usr/lib/libguile.so.12
  • #39 scm_internal_dynamic_wind
    from /usr/lib/libguile.so.12
  • #40 scm_eval_x
    from /usr/lib/libguile.so.12
  • #41 scm_shell
    from /usr/lib/libguile.so.12
  • #42 scm_init_guile
    from /usr/lib/libguile.so.12
  • #43 scm_init_guile
    from /usr/lib/libguile.so.12
  • #44 scm_boot_guile
    from /usr/lib/libguile.so.12
  • #45 main
  • #46 __libc_start_main
    from /lib/tls/libc.so.6
  • #0 ??




------- Bug moved to this database by unknown@bugzilla.gnome.org 2003-10-25 11:04 -------

Reassigning to the default owner of the component, hampton@employees.org.

Comment 1 g mottster 2003-10-26 07:59:40 UTC
*** Bug 124979 has been marked as a duplicate of this bug. ***
Comment 2 g mottster 2003-10-26 15:43:49 UTC
i've discovered how to repeat this crash on demand.  probably requires
my data file tho.
Comment 3 Elijah Newren 2003-12-11 04:58:10 UTC
Looks similar to the stack trace in bug 126471.

g mottster: Can you paste those directions to duplicate the crash
reliably here and attach the required file to this bug?
Comment 4 g mottster 2003-12-18 21:16:50 UTC
Created attachment 22551 [details]
gnucash datafile for crash bug
Comment 5 g mottster 2003-12-18 21:21:10 UTC
hmm.  now it won't reproduce.  but hey, here's one that's similar.

use attached datafile.
launch.
click 48.
click Open.
key: tab-tab-c-e-tab.
click Jump.
click CamphillCommTrustNI.
click Split.
select Actions->RemoveTransactionSplits.
click RemoveTransactionSplits.

Poof:
Aplication "/usr/bin/guile" (process 23048) has crashed due to a fatal
error.  (Segmentation fault)
Comment 6 linas 2004-06-01 13:36:25 UTC
I can't reproduce using inctructions in comment 5 in either cvs head  
or in the cvs-1.8 branch. The two do work slightly differntly, however. 
version 1.8 won't allow the jump until the transaction is commited. 
version head does jump.  
Comment 7 Josh Sled 2006-02-19 21:45:57 UTC
I can on r13300, though the instructions have changed a bit.
Comment 8 Josh Sled 2006-02-19 22:05:27 UTC
The general situation is having two transactions open for editing in seperate registers (A and B), where a split of the transaction in B references register A.  Removing the splits from the txn in B forces gnc_split_register_load of A, which  -- because there is a transaction pending in A -- uses the saved split-list [info->saved_slist] ... saved *before* the splits were removed from the txn in B, and as such now invalid.  Specifically, the bug is in getting to this removed split, navigating to its parent transaction (here with obviously-invalid address 0x1000 :p) and calling xaccTransGetDate(...).  Boom.

All that being said, this is not the same as the originally reported bug and stack trace.  But it's still a critical crasher on it's own, and reproducible as per Comment#5.
Comment 9 Josh Sled 2006-02-19 22:07:51 UTC
What I described in Comment#8 sounds very much like Bug#108347.
Comment 10 Josh Sled 2006-02-21 18:49:25 UTC
Believed fixed in r13343.
Comment 11 Chris Shoemaker 2006-03-17 19:51:59 UTC
Hrmm.   This is the incredible morphing bug.

The instructions in comment#5 are not for the same bug as the original post and stacktrace.  The original bug scenario doesn't involve mutliple open transactions, Instead, I think the original bug is from recalling a memorized multi-currency transaction.

Notice that the data file contains several anomolies:

A split with a zero exchange-rate:

<trn:splits>
    <trn:split>
      <split:id type="guid">2907f4944fa672fb2587268e0a793409</split:id>
      <split:reconciled-state>n</split:reconciled-state>
      <split:value>2084/100</split:value>
      <split:quantity>0/100</split:quantity>
      <split:account type="guid">06a2f6bc8f2c4fc62d10e1e4267e4070</split:account>
    </trn:split>
    <trn:split>
      <split:id type="guid">523d1e40c3196685846014df7eafab41</split:id>
      <split:reconciled-state>n</split:reconciled-state>
      <split:value>-2084/100</split:value>
      <split:quantity>-2084/100</split:quantity>
      <split:account type="guid">d1e5b934b88bc5af62347b5522407fbd</split:account>
    </trn:split>
  </trn:splits>


And several transactions with only one split, e.g.:

  <trn:splits>
    <trn:split>
      <split:id type="guid">28339d6eb5702a3e10cd87681cc24e94</split:id>
      <split:reconciled-state>n</split:reconciled-state>
      <split:value>298/100</split:value>
      <split:quantity>298/100</split:quantity>
      <split:account type="guid">06a2f6bc8f2c4fc62d10e1e4267e4070</split:account>
    </trn:split>
  </trn:splits>

So, I think the _original_ bug is related to bug#130451, bug#126471, bug#125576 and probably hasn't been fixed yet.

That said, I can't actually reproduce the crash described in the initial report.
So, if bugzilla will let me, I'm going to leave this bug resolved but mark it as depending on bug#130451
Comment 12 John Ralls 2018-06-29 20:38:18 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=125480. Please update any external references or bookmarks.