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 721598 - Segmentation fault on opening 1.12.1 gnumeric spreadsheets in 1.12.6
Segmentation fault on opening 1.12.1 gnumeric spreadsheets in 1.12.6
Status: RESOLVED DUPLICATE of bug 707047
Product: Gnumeric
Classification: Applications
Component: General
1.12.x
Other Linux
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
: 723298 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-01-05 20:53 UTC by Dennis Sheil
Modified: 2014-01-30 16:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
1.10.17 Gnumeric spreadsheet - breaks on 1.12.6, worked on 1.12.1 (and 1.10.17) (10.88 KB, application/x-gnumeric)
2014-01-05 20:55 UTC, Dennis Sheil
Details
xzipped Crash file (1.55 MB, application/x-xz)
2014-01-05 21:15 UTC, Dennis Sheil
Details

Description Dennis Sheil 2014-01-05 20:53:01 UTC
I was using Ubuntu 13.04 until recently where I upgraded to Ubuntu 13.10.  Along with this, my Gnumeric 1.12.1 was upgraded to Gnumeric 1.12.6.  

Prior to using Gnumeric 1.12.1 (on Ubuntu 13.04) I was using Gnumeric 1.10.17 on an Ubuntu 12.10.  It was while using Gnumeric 1.10.17 that I created a Gnumeric spreadsheet.  When I upgraded from Gnumeric 1.10.17 (on Ubuntu 12.10) to Gnumeric 1.12.1 (on Ubuntu 13.04), the spreadsheet still worked.

As I said, I just upgraded from Gnumeric 1.12.1 (on Ubuntu 12.04) to Gnumeric 1.12.6 (on Ubuntu 13.10).  This spreadsheet no longer works.  When I try to load it I get a segmentation violation.  Actually this happens to (so far) two Gnumeric spreadsheets I have.  Other ones I have still work.

Here is my backtrace -

$ gdb gnumeric
GNU gdb (GDB) 7.6.1-ubuntu
[...]
(gdb) run
Starting program: /usr/bin/gnumeric
[...]
Program received signal SIGSEGV, Segmentation fault.
scg_find_pane (pos=0x555556236cec, scg=0x555555d0ca80)
    at sheet-control-gui.c:3705
3705 sheet-control-gui.c: No such file or directory.
(gdb) bt
  • #0 scg_find_pane
    at sheet-control-gui.c line 3705
  • #1 scg_show_im_tooltip
    at sheet-control-gui.c line 3724
  • #2 sheet_view_edit_pos_tool_tips
    at sheet-view.c line 655
  • #3 sv_update
    at sheet-view.c line 684
  • #4 sheet_update
    at sheet.c line 1985
  • #5 gui_wb_view_show
    at gui-file.c line 103
  • #6 gui_file_read
    at gui-file.c line 126
  • #7 gui_file_open
    at gui-file.c line 439
  • #8 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #9 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #10 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #11 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #12 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #13 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #14 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #15 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #16 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #17 ??
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #18 ??
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #19 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #20 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #21 g_main_loop_run
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #22 gtk_main
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #23 main
    at main-application.c line 383

The trunk commit I am suspicious of is commit 55aa911c22ccd0c2c5458c717aa885bea5f59ea7 from August 4th, 2013.  I suspect it because it looks like it added the variables which now can not be found before the SIGSEGV.  It is also a commit that was not in 1.12.1 but which was in Gnumeric 1.12.6.

I wanted to quickly do a git bisect or something to check my suspicion, but ran into minor dependency problems and was then waylaid for time reasons.  If this still puzzles yous, and I get the time, maybe if I get the time I'll get my JHbuild setup is up to date and dive in to take a closer look.  I don't know if I'll have time to do that though, so if yous can see what's wrong that will be better.  Especially whether that commit is what breaks things.

I filed a bug for this at Ubuntu's bug tracker to

https://bugs.launchpad.net/ubuntu/+source/gnumeric/+bug/1266268
Comment 1 Dennis Sheil 2014-01-05 20:55:43 UTC
Created attachment 265394 [details]
1.10.17 Gnumeric spreadsheet - breaks on 1.12.6, worked on 1.12.1 (and 1.10.17)
Comment 2 Dennis Sheil 2014-01-05 21:15:43 UTC
Created attachment 265395 [details]
xzipped Crash file

Compressed because Ubuntu web site would not allow uncompressed
Comment 3 Andreas J. Guelzow 2014-01-06 00:26:16 UTC
This is a known and fixed patch. It has to do with the fact that the file contains a frozen pane. Unfortunately the 1.12.6 release of Gnumeric failed to handle this correctly. Any more recent releases will read the file just fine.
Comment 4 Andreas J. Guelzow 2014-01-06 00:26:37 UTC
That should have been "This is a known and fixed bug".
Comment 5 Andreas J. Guelzow 2014-01-06 00:28:41 UTC
Thanks for taking the time to report this bug.
This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade.

*** This bug has been marked as a duplicate of bug 707047 ***
Comment 6 Andreas J. Guelzow 2014-01-30 16:44:32 UTC
*** Bug 723298 has been marked as a duplicate of this bug. ***
Comment 7 Morten Welinder 2014-01-30 16:53:40 UTC
The workaround for this problem is to not use frozen panes until gnumeric
can be upgraded or downgraded.

This hack removes frozen panes from a file.  It should be all on one line.
Please keep a copy of the old file as backup.


gunzip < in.gnumeric | perl -n -e 'print unless m|^\s*<gnm:FreezePanes .*/>\s*|' | gzip > out.gnumeric