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 796084 - Frequent Crashes During Data Entry
Frequent Crashes During Data Entry
Status: RESOLVED INCOMPLETE
Product: GnuCash
Classification: Other
Component: General
3.1
Other Windows
: Normal critical
: future
Assigned To: gnucash-general-maint
gnucash-general-maint
Depends on:
Blocks:
 
 
Reported: 2018-05-13 22:26 UTC by Robert Chapin
Modified: 2018-06-30 00:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Debug results leading up to crash. (93.12 KB, text/plain)
2018-05-14 15:17 UTC, Robert Chapin
Details

Description Robert Chapin 2018-05-13 22:26:24 UTC
I'm experiencing a crash to desktop and associated data loss every several minutes, possibly related to the auto save timer.  This is happening with a new XML file that I started today.

The crash seems most likely to happen while I'm entering a date or check number in a new transaction.

The auto save is configured for 10 minutes (default?).

I will continue testing with 1-minute auto saves to see if it gets better or worse.
Comment 1 Robert Chapin 2018-05-13 22:40:05 UTC
My data folder now shows minutely saves from 6:28 PM through 6:35 PM.  Shortly thereafter, crash to desktop while keying the date for a new transaction.

No data loss this time, thanks to good saves.
Comment 2 Robert Chapin 2018-05-13 22:46:15 UTC
Wait.  Previous comment was incomplete.

When I reopened GnuCash, the most recently entered transaction was lost, as well as a month that was reconciled is no longer showing as cleared or reconciled.

When I opened the 6:35 PM autosave, the lost data was actually still in there.

I don't know if this means the autosave failed or the program was in an inconsistent state when it crashed, but this is frustrating either way.
Comment 3 John Ralls 2018-05-13 23:41:50 UTC
Take a look through the recent tracefiles (https://wiki.gnucash.org/wiki/Tracefile) to see if there are any errors reported. If not, try running from a command line:
  "c:\Program Files (x86)\gnucash\bin\gnucash" --debug 
to get more information into the tracefile. Another option that might be useful is --log gnc.backend.xml=debug.
Comment 4 Robert Chapin 2018-05-14 01:45:48 UTC
This?

* 18:38:06  WARN <gnc.app-utils> Could not spawn perl: Failed to execute child process (No such file or directory)
* 18:44:42  CRIT <GLib> g_file_test: assertion 'filename != NULL' failed
* 18:47:28  WARN <gnc.backend> [GncXmlBackend::session_begin()] Might clobber, no force
Comment 5 John Ralls 2018-05-14 02:50:00 UTC
Yup. That's not showing anything helpful so try running from the command line with --debug.
Comment 6 Robert Chapin 2018-05-14 11:13:49 UTC
I just saw it crash in debug mode.  All I have in the trace file is about 5 MB worth of INFO messages.

I will try your backend debug idea next.
Comment 7 Robert Chapin 2018-05-14 11:22:38 UTC
I'm also getting a syslog associated with the crash, in case this helps.

Log Name:      Application
Source:        Application Error
Date:          5/14/2018 7:10:31 AM
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Description:
Faulting application name: gnucash.exe, version: 0.0.0.0, time stamp: 0x5ae4fe70
Faulting module name: msvcrt.dll, version: 7.0.17134.1, time stamp: 0xc5dd3631
Exception code: 0xc0000005
Fault offset: 0x00088e7e
Faulting process id: 0x26b4
Faulting application start time: 0x01d3eb7260772755
Faulting application path: C:\Program Files (x86)\gnucash\bin\gnucash.exe
Faulting module path: C:\WINDOWS\System32\msvcrt.dll
Report Id: adf788f3-d0d6-4546-8a69-36a9f5fae3ba
Faulting package full name: 
Faulting package-relative application ID:
Comment 8 John Ralls 2018-05-14 14:16:11 UTC
Unfortunately Microsoft's syslog reports aren't useful.

Yes, I know that debug mode produces lots of INFO messages, that's the point of it. The  info messages show what the program is doing... so was it doing a save at the time of the crash?
Comment 9 Robert Chapin 2018-05-14 15:17:06 UTC
Created attachment 372030 [details]
Debug results leading up to crash.
Comment 10 Robert Chapin 2018-05-14 15:18:20 UTC
To answer your question first, I'm not certain.  Exceprt attached from debug mode.

I've add bug 796100 with problems that are definitely happening in the autosave system.

After switching from debug to the backend log option, I could not reproduce the crash.  However, some of the log messages surrounding the autosave failures might be relevant, so I will attach those as well.
Comment 11 Robert Chapin 2018-05-14 15:20:04 UTC
This is logged periodically with the backend log option, but then I seem to get no crashes, just sporadic autosaves.

* 10:54:31  CRIT <gnc.gui> gnc_xfer_dialog_create: assertion 'to_info == NULL && from_info == NULL' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_gtk_entry: assertion 'gae != NULL' failed
* 10:54:31  CRIT <Gtk> gtk_widget_grab_focus: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <Gtk> gtk_toggle_button_set_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_set_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <Gtk> gtk_toggle_button_set_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_set_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_get_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_get_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <Gtk> gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <Gtk> gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <Gtk> gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <Gtk> gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <Gtk> gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_gtk_entry: assertion 'gae != NULL' failed
* 10:54:31  CRIT <Gtk> gtk_entry_set_text: assertion 'GTK_IS_ENTRY (entry)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_get_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_get_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_evaluate: assertion 'gae != NULL' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_set_amount: assertion 'gae != NULL' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_gtk_entry: assertion 'gae != NULL' failed
* 10:54:31  CRIT <Gtk> gtk_entry_set_text: assertion 'GTK_IS_ENTRY (entry)' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_set_amount: assertion 'gae != NULL' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_gtk_entry: assertion 'gae != NULL' failed
* 10:54:31  CRIT <Gtk> gtk_entry_set_text: assertion 'GTK_IS_ENTRY (entry)' failed
* 10:54:31  CRIT <Gtk> gtk_widget_show_all: assertion 'GTK_IS_WIDGET (widget)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_get_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_get_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
* 10:54:31  CRIT <gnc.gui> gnc_amount_edit_set_amount: assertion 'gae != NULL' failed
* 10:54:31  CRIT <Gtk> gtk_toggle_button_set_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
* 10:54:31  CRIT <gnc.gui> gnc_tree_view_account_set_selected_account: assertion 'GNC_IS_TREE_VIEW_ACCOUNT (view)' failed
Comment 12 John Ralls 2018-05-15 20:56:42 UTC
Are those Gtk errors not present in among all of the info messages when you ran with --debug? And they weren't in the original log with the crash either, right? Since  setting --log gnc.backend.xml=debug only enables displaying certain log messages it's weird that it would have any affect on the crashes or on all of those assertions.

And I suppose that there weren't any XML backend debug messages either.
Comment 13 Robert Chapin 2018-05-15 21:58:15 UTC
Correct, that 5 MB file had no mention of Gtk.

I don't know if it's related to the account or the size of the files or what, but it hasn't been crashing today at all.
Comment 14 Robert Chapin 2018-06-26 21:33:58 UTC
Couldn't repeat this crash in the past month.  Closing for now.
Comment 15 John Ralls 2018-06-30 00:10:02 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=796084. Please update any external references or bookmarks.