[GNC] Crash on start up

John Ralls jralls at ceridwen.us
Mon Apr 23 10:11:34 EDT 2018



> On Apr 23, 2018, at 5:40 AM, Samantha Payn <samantha at boorertranslations.com> wrote:
> 
>   I am running GNUcash 3 on Windows 10. seem to have done something to
>   corrupt my experimental GNUcash accounts file. It crashes on start-up.
>   I have tried uninstalling and reinstalling GNUcash but that hasn't
>   helped.
> 
>   Once it has crashed I get the locked file warning, and whether I choose
>   "open anyway" or "open as read only" the file crashes. I am able to
>   open the app only by clicking on "create new file".
> 
>   I am able to open an earlier version of the damaged file but would like
>   to know how I have caused this problem.
> 
>   The initial Trace File after the first crash says:
> 
>   "* 07:12:40  CRIT <gnc.gui> gnc_date_edit_set_time_internal: assertion
>   'mytm != NULL' failed
>   * 07:14:21  CRIT <gnc.gui> gnc_date_edit_set_time_internal: assertion
>   'mytm != NULL' failed
>   * 07:15:49  WARN <qof.engine> [gnc_print_time64()] Error processing
>   time64 9223372036854775807: Time value is outside the supported year
>   range.
>   * 07:17:17  WARN <qof.engine> [gnc_print_time64()] Error processing
>   time64 9223372036854775807: Time value is outside the supported year
>   range.
>   * 07:17:40  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:17:40  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:17:40  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:17:40  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:17:40  WARN <GLib-GObject> invalid uninstantiatable type '(NULL)'
>   in cast to 'QofInstance'
>   * 07:17:40  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:17:40  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:17  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:21:30  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:23:52  CRIT <gnc.gui> gnc_date_edit_set_time_internal: assertion
>   'mytm != NULL' failed
>   * 07:34:34  CRIT <gnc.gui> gnc_date_edit_set_time_internal: assertion
>   'mytm != NULL' failed
>   * 07:36:35  CRIT <gnc.gui> gnc_date_edit_set_time_internal: assertion
>   'mytm != NULL' failed
>   * 07:37:19  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:37:19  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:37:19  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:37:19  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:37:19  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:38:14  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:38:14  CRIT <gnc.pricedb> [gnc_price_get_value()] price NULL.
>   * 07:38:14  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:38:14  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:38:14  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:38:32  WARN <qof> [gnc_numeric_to_decimal()] Rounding required
>   when 'never round' specified.
>   * 07:42:10  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:42:10  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:42:10  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:42:10  WARN <qof.engine> [qof_print_date_buff()] Error processing
>   time64 527765583310712933: Time value is outside the supported year
>   range.
>   * 07:42:10  WARN <GLib-GObject> invalid cast from '(NULL)' to
>   'QofInstance'"
> 
>   After that all the trace files say the same thing (apart from the
>   timestamp):
> 
>   "* 07:42:44  WARN <GLib-GObject> invalid uninstantiatable type '(NULL)'
>   in cast to 'QofInstance'"
>   Thanks for any help anyone can give.

You have a pile of invalid dates in your data file. GnuCash 2.6.x had a broader allowable date range than 3.x: The earliest year in the former is 1, in the latter 1400. The maximum is 9999 in both cases. 

Open your file in 2.6 and make sure that all of the dates are valid with 4-digit years.

Regards,
John Ralls


More information about the gnucash-user mailing list