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 632050 - Crashing when selecting other sheet
Crashing when selecting other sheet
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: General
1.10.x
Other Linux
: Normal critical
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2010-10-13 11:32 UTC by michaelectro
Modified: 2010-10-13 19:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gnumeric-bug-report (3.17 KB, text/plain)
2010-10-13 11:32 UTC, michaelectro
Details

Description michaelectro 2010-10-13 11:32:52 UTC
Created attachment 172251 [details]
gnumeric-bug-report

Any existing file opens correctly but Gnumeric crashes when attempting to access another sheet within the same file
.
This also happens when right-clicking another sheet.

Instead of opening any other sheet, it crashes.

This does NOT happen whith a newly created file.

OS: Ubuntu (10.10)
System: Linux 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:24:00 UTC 2010 i686

It IS possible to work on the first sheet, save etc.
It is also possible to right-click the first sheet, insert a new one and edit it.

This problem seems to be around after upgrading to Ubuntu version 10.10
Comment 1 Morten Welinder 2010-10-13 13:09:53 UTC
That sounds bad.

There is not a lot of information in the attachment to show us what is going
on.  Can you please attach a file for which this happens?  If the file is
mildly confidential, you can email terra@gnome.org and I'll delete it after
diagnosing.

Alternatively, running under valgrind might produce useful information:

    G_SLICE=always-malloc valgrind --num-callers=20 /path/to/gnumeric file.gnumeric
Comment 2 Morten Welinder 2010-10-13 16:06:17 UTC
File received.  Problems reproduced.

On sheet change, I see:
==25333== Invalid read of size 4
==25333==    at 0x4F3A128: sv_selection_intersects_filter_rows (sheet-view.c:706)
==25333==    by 0x4F85C70: wbcg_menu_state_update (wbc-gtk.c:1612)
==25333==    by 0x4F7B4EB: wb_view_menus_update (workbook-view.c:342)
==25333==    by 0x4F7BA94: wb_view_sheet_focus (workbook-view.c:173)
==25333==    by 0x4F88DC2: cb_notebook_switch_page (wbc-gtk.c:926)
==25333==    by 0x87C063D: g_closure_invoke (in /usr/lib64/libgobject-2.0.so.0.2200.4)
==25333==    by 0x87D5FFF: ??? (in /usr/lib64/libgobject-2.0.so.0.2200.4)
==25333==    by 0x87D6DC8: g_signal_emit_valist (in /usr/lib64/libgobject-2.0.so.0.2200.4)
==25333==    by 0x87D7312: g_signal_emit (in /usr/lib64/libgobject-2.0.so.0.2200.4)
==25333==    by 0x4F87460: cb_sheet_label_button_press (wbc-gtk.c:596)
==25333==    by 0x69969F7: ??? (in /usr/lib64/libgtk-x11-2.0.so.0.1800.6)
==25333==    by 0x87C063D: g_closure_invoke (in /usr/lib64/libgobject-2.0.so.0.2200.4)
==25333==  Address 0xc is not stack'd, malloc'd or (recently) free'd


However, already on load I see:
** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25333): CRITICAL **: eval_pos_init_sheet: assertion `IS_SHEET (sheet)' failed

** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25333): CRITICAL **: selection_first_range: assertion `l != NULL && l->data != NULL' failed

** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25333): CRITICAL **: range_is_sane: assertion `range != NULL' failed

** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25333): CRITICAL **: item_cursor_bound_set: assertion `range_is_sane (new_bound)' failed

** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25333): CRITICAL **: selection_first_range: assertion `l != NULL && l->data != NULL' failed

First critical is here:
Breakpoint 1, 0x00007ffff3d8b060 in g_log () from /usr/lib64/libglib-2.0.so.0
(gdb) where
  • #0 g_log
    from /usr/lib64/libglib-2.0.so.0
  • #1 eval_pos_init_sheet
    at position.c line 133
  • #2 excel_parse_name
    at ms-excel-read.c line 3384
  • #3 excel_read_NAME
    at ms-excel-read.c line 3650
  • #4 excel_read_workbook
    at ms-excel-read.c line 6879
  • #5 excel_file_open
    at boot.c line 190

Comment 3 Morten Welinder 2010-10-13 17:19:54 UTC
The "selection" record in there seems to be invalid.  What program
generated this file?

I have fixed the crash.  I still see one CRITICAL:

** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:28221): CRITICAL **: eval_pos_init_sheet: assertion `IS_SHEET (sheet)' failed
Comment 4 Morten Welinder 2010-10-13 19:26:40 UTC
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.