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 772484 - Segfault on Transaction edit
Segfault on Transaction edit
Status: RESOLVED FIXED
Product: GnuCash
Classification: Other
Component: Backend - SQL
2.6.12
Other Linux
: Normal normal
: ---
Assigned To: gnucash-core-maint
gnucash-core-maint
Depends on:
Blocks:
 
 
Reported: 2016-10-05 22:34 UTC by Craig Van Tassle
Modified: 2018-06-29 23:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Craig Van Tassle 2016-10-05 22:34:02 UTC
This occurs when I'm working on one specific transaction. 

Stack trace.

Found Finance::Quote version 1.38
sys:1: Warning: g_date_time_format: assertion 'datetime != NULL' failed
sys:1: Warning: g_date_time_unref: assertion 'datetime != NULL' failed

Thread 1 "gnucash" received signal SIGSEGV, Segmentation fault.
0x00007ffff5ffb65c in g_date_time_add () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt full
  • #0 g_date_time_add
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #1 gnc_g_date_time_new_from_timespec_local
    at gnc-date.c line 431
  • #2 gnc_timespec_to_iso8601_buff
    at gnc-date.c line 1468
  • #3 xaccTransWriteLog
    at TransLog.c line 244
  • #4 xaccTransBeginEdit
    at Transaction.c line 1366
  • #5 gnc_split_register_begin_edit_or_warn
    at split-register.c line 160
  • #6 gnc_split_register_save
    at split-register.c line 1707
  • #7 gnc_split_reg_record
    at gnc-split-reg.c line 1914
  • #8 gnc_split_reg_enter
    at gnc-split-reg.c line 1989
  • #9 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #10 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #11 g_signal_emit_by_name
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #12 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #13 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #14 g_signal_emit_by_name
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #15 gnucash_sheet_key_press_event_internal
    at gnucash-sheet.c line 1766
  • #16 gnucash_sheet_key_press_event
    at gnucash-sheet.c line 1919
  • #17 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #18 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #19 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #20 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #21 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #22 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #23 gtk_window_propagate_key_event
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #24 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #25 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #26 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #27 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #28 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #29 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #30 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #31 gtk_propagate_event
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #32 gtk_main_do_event
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #33 ??
    from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
  • #34 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #35 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #36 g_main_loop_run
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #37 gtk_main
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #38 gnc_ui_start_event_loop
    at gnc-gnome-utils.c line 620
  • #39 inner_main
    at gnucash-bin.c line 623
  • #40 ??
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #41 ??
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #42 ??
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #43 scm_call_4
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #44 ??
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #45 scm_c_with_continuation_barrier
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #46 ??
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #47 GC_call_with_stack_base
    from /usr/lib/x86_64-linux-gnu/libgc.so.1
  • #48 scm_with_guile
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #49 scm_boot_guile
    from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
  • #50 main
    at gnucash-bin.c line 778

Comment 1 John Ralls 2016-10-06 07:04:11 UTC
So it's crashing because you're trying to commit a transaction with no posted date. An obvious mistake and we should defend against it, which I'll fix for the next release.

Is the date in the date column valid when you hit "enter"?
Comment 2 Craig Van Tassle 2016-10-06 14:38:40 UTC
The date is not shown when I try to edit the transaction. This causes it to segfault. I had to actually delete the transaction from my register and I'm able to get in.
Comment 3 John Ralls 2016-12-10 23:11:23 UTC
I don't know how you managed to get the date to not show. When I inserted a bogus date into the file it crashed in the same place on startup. I've fixed that for the next release.
Comment 4 John Ralls 2018-06-29 23:51:26 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=772484. Please update any external references or bookmarks.