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 581378 - Performance regression during xls export
Performance regression during xls export
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: import/export MS Excel (tm)
git master
Other All
: Normal major
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2009-05-04 21:31 UTC by sum1
Modified: 2009-05-05 19:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
xls file (422.50 KB, application/vnd.ms-excel)
2009-05-04 21:32 UTC, sum1
Details

Description sum1 2009-05-04 21:31:44 UTC
The upcoming attachment is an Excel file from http://qa.openoffice.org/issues/show_bug.cgi?id=4983 (Attachment 1686 in OO.org's tracker).  1.8.4 exports the file in about ten seconds, while the git version takes minutes.


Steps to reproduce:
- ssconvert attachment.xls /tmp/foo.xls


Console output (repeated, and possibly unrelated):

gnumeric:read-WARNING **: File is most likely corrupted.
(Requested 2045430240*2 bytes, but only 118 bytes left in record.
The problem occurred in excel_read_HLINK.)


Backtrace:

  • #0 elem_is_eq
    at mstyle.c line 203
  • #1 gnm_style_equal
    at mstyle.c line 738
  • #2 excel_style_variant_equal
    at ms-excel-write.c line 139
  • #3 IA__g_hash_table_lookup
    at /build/buildd/glib2.0-2.20.1/glib/ghash.c line 213
  • #4 two_way_table_key_to_idx
    at ms-excel-util.c line 226
  • #5 excel_sheet_write_block
    at ms-excel-write.c line 4736
  • #6 excel_write_sheet
    at ms-excel-write.c line 4944
  • #7 excel_write_workbook
    at ms-excel-write.c line 5699
  • #8 excel_write_v7
    at ms-excel-write.c line 5729
  • #9 excel_save
    at boot.c line 271
  • #10 excel_dsf_file_save
    at boot.c line 308
  • #11 go_plugin_loader_module_func_file_save
    at go-plugin-loader-module.c line 323
  • #12 go_plugin_file_saver_save
    at go-plugin-service.c line 749
  • #13 go_file_saver_save
    at file.c line 705
  • #14 wbv_save_to_output
    at workbook-view.c line 850
  • #15 wb_view_save_to_uri
    at workbook-view.c line 887
  • #16 wb_view_save_as
    at workbook-view.c line 923
  • #17 convert
    at ssconvert.c line 338
  • #18 main
    at ssconvert.c line 403

Comment 1 sum1 2009-05-04 21:32:44 UTC
Created attachment 133973 [details]
xls file
Comment 2 Morten Welinder 2009-05-05 12:46:31 UTC
> (Requested 2045430240*2 bytes, but only 118 bytes left in record.
> The problem occurred in excel_read_HLINK.)

URLs are getting to be really long these days.  Highly likely to be
totally unrelated.
Comment 3 Morten Welinder 2009-05-05 18:34:27 UTC
It takes forever because we loop over the entire sheet, i.e., 64k*256.

The output in .gnumeric format shows our styles are in a very fragmented
state.
Comment 4 Morten Welinder 2009-05-05 19:39:29 UTC
Note, that for all practical purposes, the .gnumeric output is unchanged
since at least 1.8.2  Hence we can rule out the input side.

Comment 5 Morten Welinder 2009-05-05 19:52:02 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.