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 671267 - Get error trying to save spreadsheet
Get error trying to save spreadsheet
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: 2012-03-03 18:51 UTC by Steve Fabac
Modified: 2012-03-07 13:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Steve Fabac 2012-03-03 18:51:50 UTC
Gnumeric has encountered a problem and needs to close. We are sorry for the inconvenience." 

Error signature AppName gnumeric.exe AppVer: 1.10.16.0 excel.dll
ModVer 0.0.0.0 Offset: 000262fd.

Running Windows XP home SP3 with MS Excel 2002 (10.6871.6870) SP3 installed from Office XP Professional.

Openning 11_1040.xls from http://www.excel1040.com

Problem occurs in following sequence: 

Start Gnumeric. Click File -> open and browse to folder containning 11_1040.xls:
Spread sheet is not listed.

Rename 11_1040.xls to full_11_1040.xls and can see and open it with Gnumeric. 

Click "save as" and save unmodified spread sheet (no data entered) as jack_11_1040.xls and save works.

Close Gnumeric and re-start gnumeric and select file -> 1 jack_11_1040.xls and it opens. Click save and get error reported above. 

ALTERNATE:

Start Gnumeric, Click File -> open and browse to foldoer containing Full_11_1040.xls and open. Enter some mimimal data (First name, Last name fields
of 1040 sheet). Click save-as and enter John_11_1040.xls and file is saved ok.

Close Genumeric and restart. Select File -> 1 John_11_1040.xls and see data previously entered in first name and last name fields of 1040 sheet. Click save
and get error reported above.

Repeat above but try save-as and enter Sam_11_1040.xls (from John_11_1040.xls)
and get error reported above.
Comment 1 Andreas J. Guelzow 2012-03-05 04:35:36 UTC
So if I understand this right, the problem occurs whenever you try to "save" a file opened from the "recent files".

Can you successfully save those files using "save as"?

The obvious workaround seems to not open any files from the recent files list.
Comment 2 Steve Fabac 2012-03-05 14:23:57 UTC
No, ANY way I open the subject name_11_1040.xls sheet fails when "save" or "save as" is used whether or not information was added, or changed in the sheet, or just trying open then immediately followed by save or "save as." 

Simple suggestion: Download the 11_1040.xls from the link posted and try it yourself: http://www.excel1040.com/

Once you see the 11_1040.xls sheet you will understand that it is truly a complicated work and may be beyond the capability of Gnumeric.

When I reported the problem to the author of the 11_1040.xls sheet he responded: "I did not try the Gnumeric spreadsheets.  I listed it solely based on input from at least one user that it worked for them."


Additional testing information:

The reported problem occurs on Windows 7 professional SP1 as well. The W7 box has Office 2010 pre-installed (demo ware) but has not been licensed and remains unused.
Comment 3 Andreas J. Guelzow 2012-03-05 14:42:13 UTC
On opening the saved file I see lots of:

(/home/aguelzow/gnumeric/bin/gnumeric:5574): gnumeric:read-WARNING **: File is most likely corrupted.
(Condition "ptr + n == end" failed in excel_read_LABEL_markup.)

and a few of:
(/home/aguelzow/gnumeric/bin/gnumeric:5574): gnumeric:read_expr-WARNING **: Unknown data table (key = A7425) in 
Line 10!A1 : 

(/home/aguelzow/gnumeric/bin/gnumeric:5574): gnumeric:read_expr-WARNING **: Unknown data table (key = A7425) in 
Line 10!A1 : 
(/home/aguelzow/gnumeric/bin/gnumeric:5574): gnumeric:read-WARNING **: File is most likely corrupted.
(Condition "q->length == offset + expr0_len + expr1_len" failed in excel_read_CF.)


When entering a value I see a few of
** (/home/aguelzow/gnumeric/bin/gnumeric:5574): CRITICAL **: gnm_cell_set_value: assertion `cell != NULL' failed

and the crash is:
Program received signal SIGSEGV, Segmentation fault.
0xab498c1e in excel_write_prep_conditions (esheet=0xa6d01b0)
    at ms-excel-write.c:1497
1497			for (i = 0 ; i < conds->len ; i++) {
(gdb) bt
  • #0 excel_write_prep_conditions
    at ms-excel-write.c line 1497
  • #1 excel_write_state_new
    at ms-excel-write.c line 6493
  • #2 excel_save
    at boot.c line 264
  • #3 excel_biff8_file_save
    at boot.c line 320
  • #4 go_plugin_loader_module_func_file_save
    at go-plugin-loader-module.c line 352
  • #5 go_plugin_file_saver_save
    at go-plugin-service.c line 897
  • #6 go_file_saver_save
    at file.c line 705
  • #7 wbv_save_to_output
    at workbook-view.c line 1037
  • #8 wb_view_save_to_uri
    at workbook-view.c line 1074
  • #9 wb_view_save

Comment 4 Andreas J. Guelzow 2012-03-05 15:26:05 UTC
Note that the 
(/home/aguelzow/gnumeric/bin/gnumeric:5574): gnumeric:read-WARNING **: File is
most likely corrupted.
(Condition "ptr + n == end" failed in excel_read_LABEL_markup.)
warnings may be bug #662497
Comment 5 Morten Welinder 2012-03-06 14:55:12 UTC
Never mind save.  We have problems on load.  Here's one regarding
images.  It may or may not be us, and it may or may not be serious.


==29135== Invalid read of size 8
==29135==    at 0x166EB727: ??? (in /usr/lib64/libjpeg.so.62.0.0)
==29135==    by 0xC469AB7: ???
==29135==    by 0x166E235B: ??? (in /usr/lib64/libjpeg.so.62.0.0)
==29135==    by 0x166DCC10: ??? (in /usr/lib64/libjpeg.so.62.0.0)
==29135==    by 0x166D6871: jpeg_read_scanlines (in /usr/lib64/libjpeg.so.62.0.0)
==29135==    by 0x164BB379: ??? (in /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so)
==29135==    by 0x164BBC92: ??? (in /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so)
==29135==    by 0x76F6C29: gdk_pixbuf_loader_write (in /usr/lib64/libgdk_pixbuf-2.0.so.0.2200.1)
==29135==    by 0x53AFFFB: go_image_new_from_data (go-image.c:487)
==29135==    by 0x4F65DE6: sheet_object_image_set_image (sheet-object-image.c:149)
==29135==    by 0x104EFF80: ms_sheet_realize_obj (ms-excel-read.c:678)
==29135==    by 0x104E777A: ms_container_realize_objs (ms-container.c:167)
==29135==    by 0x104F8E0F: excel_read_BOF (ms-excel-read.c:7050)
==29135==    by 0x104FA445: excel_read_workbook (ms-excel-read.c:7139)
==29135==    by 0x104E3CA2: excel_enc_file_open (boot.c:191)
==29135==    by 0x53E39A6: go_plugin_file_opener_open (go-plugin-service.c:634)
==29135==    by 0x4F8A391: wb_view_new_from_input (workbook-view.c:1244)
==29135==    by 0x4F8A5CC: wb_view_new_from_uri (workbook-view.c:1299)
==29135==    by 0x4048E5: main (main-application.c:320)
==29135==  Address 0xc2e0a24 is 4,100 bytes inside a block of size 4,104 alloc'd
==29135==    at 0x4C2683D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==29135==    by 0x76F0B84: gdk_pixbuf_new (in /usr/lib64/libgdk_pixbuf-2.0.so.0.2200.1)
==29135==    by 0x164BBDEC: ??? (in /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so)
==29135==    by 0x76F6C29: gdk_pixbuf_loader_write (in /usr/lib64/libgdk_pixbuf-2.0.so.0.2200.1)
==29135==    by 0x53AFFFB: go_image_new_from_data (go-image.c:487)
==29135==    by 0x4F65DE6: sheet_object_image_set_image (sheet-object-image.c:149)
==29135==    by 0x104EFF80: ms_sheet_realize_obj (ms-excel-read.c:678)
==29135==    by 0x104E777A: ms_container_realize_objs (ms-container.c:167)
==29135==    by 0x104F8E0F: excel_read_BOF (ms-excel-read.c:7050)
==29135==    by 0x104FA445: excel_read_workbook (ms-excel-read.c:7139)
==29135==    by 0x104E3CA2: excel_enc_file_open (boot.c:191)
==29135==    by 0x53E39A6: go_plugin_file_opener_open (go-plugin-service.c:634)
==29135==    by 0x4F8A391: wb_view_new_from_input (workbook-view.c:1244)
==29135==    by 0x4F8A5CC: wb_view_new_from_uri (workbook-view.c:1299)
==29135==    by 0x4048E5: main (main-application.c:320)
Comment 6 Morten Welinder 2012-03-06 15:42:23 UTC
Further valgrind errors on load were related to the valgrind bug with
rendered-value's bitfields and can be ignored.

I do not see the crash above.  I sometimes see an X "BadWindow" crash,
hopefully having to do with my ancient gtk+.
Comment 7 Andreas J. Guelzow 2012-03-06 16:16:33 UTC
@Morten, to see the crash you have to open-save-open-save.
Comment 8 Morten Welinder 2012-03-07 00:29:28 UTC
xls save crash fixed.  That's doesn't mean we do things right.
Comment 9 Morten Welinder 2012-03-07 13:57:57 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.


Deficiencies in xls export relating to this sheet are tracked in bug 671513.