GNOME Bugzilla – Bug 321678
Excel graph import CRITICALs
Last modified: 2006-09-09 15:53:58 UTC
Steps to reproduce: 1. Attempt to load attached file bounded4.xlw 2. Crash inside chart object from Excel Stack trace: 0x00d09402 in __kernel_vsyscall ()
+ Trace 64096
Other information: Please re-file if this is actually a chart crash, my guess is that the core problem is in the Excel plugin.
Created attachment 54845 [details] Excel 4.x workbook which crashes Gnumeric
Confirmed. I get this before the crash: (gnumeric:13092): GLib-GObject-WARNING **: value "0" of type `guint' is invalid or out of range for property `dims' of type `guint'
Goffice patched to at least not crash. 2005-11-16 Morten Welinder <terra@gnome.org> * goffice/graph/gog-object.c (gog_object_add_by_name): Add pre-condition. (*): Fix preconditions. Gnumeric complains loudly during load, though: Excel 4.x workbook ** (gnumeric:18544): WARNING **: EXCEL : unknown widths for font 'Geneva', guessing (gnumeric:18544): GLib-GObject-WARNING **: value "0" of type `guint' is invalid or out of range for property `dims' of type `guint' ** (gnumeric:18544): CRITICAL **: gog_object_add_by_name: assertion `IS_GOG_OBJECT (parent)' failed (gnumeric:18544): GLib-GObject-WARNING **: value "0" of type `guint' is invalid or out of range for property `dims' of type `guint' ** (gnumeric:18544): CRITICAL **: gog_object_add_by_name: assertion `IS_GOG_OBJECT (parent)' failed (gnumeric:18544): GLib-GObject-WARNING **: value "0" of type `guint' is invalid or out of range for property `dims' of type `guint' ** (gnumeric:18544): CRITICAL **: gog_object_add_by_name: assertion `IS_GOG_OBJECT (parent)' failed (gnumeric:18544): GLib-GObject-WARNING **: value "0" of type `guint' is invalid or out of range for property `dims' of type `guint' ** (gnumeric:18544): CRITICAL **: gog_object_add_by_name: assertion `IS_GOG_OBJECT (parent)' failed Leaking string [Database] with ref_count=1. ** (gnumeric:18544): WARNING **: Leaked 1 nodes from string pool. ** (gnumeric:18544): CRITICAL **: go_font_free: assertion `font->ref_count == 1' failed ** (gnumeric:18544): WARNING **: Missing calls to go_font_cache_unregister
It is not a goffice problem. There is no chart_group record in this file (xl4!) or they are in the unknown (1004) records. This removes the crash: @@ -3085,11 +3113,11 @@ if (series != NULL) { Sheet *sheet = ms_container_sheet (state.container.parent); GnmExpr const *expr; GOData *data; - if (series->chart_group < 0) { + if (series->chart_group < 0 && BC_R(ver)(&state) >= MS_BIFF_V5) { /* might be a error bar series or a regression curve */ if (series->err_type == 0) xl_chart_import_reg_curve (&state, series); else xl_chart_import_error_bar (&state, series); But I can't find the graph in the imported file, and on exit, I have: Leaking string [Database] with ref_count=1. ** (gnumeric:16871): WARNING **: Leaked 1 nodes from string pool. ** (gnumeric:16871): CRITICAL **: go_font_free: assertion `font->ref_count == 1' failed ** (gnumeric:16871): WARNING **: Missing calls to go_font_cache_unregister
looks reasonable. Please commit to both branches
Commited