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 568634 - Crash for undo of cross-workbook-cut-and-paste
Crash for undo of cross-workbook-cut-and-paste
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: General
git master
Other All
: High critical
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2009-01-22 01:47 UTC by Justin Blanchard
Modified: 2009-01-22 15:31 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Justin Blanchard 2009-01-22 01:47:47 UTC
Version: 1.8.3

What were you doing when the application crashed?
I had cut/pasted a row between two spreadsheets, and tried to undo the operation in both. (Their cells contained text and were formatted as "general"; the target sheet was marked "always on top" in the window manager.)
I don't know yet whether these details are relevant or the crash is reproducible. I'll follow up if it happens again!


Distribution: Gentoo Base System release 2.0.0
Gnome Release: 2.24.3 2009-01-14 (Gentoo)
BugBuddy Version: 2.24.2

System: Linux 2.6.28-gentoo #2 SMP Wed Jan 14 02:27:29 PST 2009 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10503000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Clearlooks
Icon Theme: gnome

Memory status: size: 58232832 vsize: 58232832 resident: 34549760 share: 18210816 rss: 34549760 rss_rlim: 18446744073709551615
CPU usage: start_time: 1232587061 rtime: 3215 utime: 3095 stime: 120 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/gnumeric'

[Thread debugging using libthread_db enabled]
[New Thread 0xb6898710 (LWP 1512)]
0xb7fb6424 in __kernel_vsyscall ()

Thread 1 (Thread 0xb6898710 (LWP 1512))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/libpthread.so.0
  • #2 IA__g_spawn_sync
    at gspawn.c line 382
  • #3 IA__g_spawn_command_line_sync
    at gspawn.c line 694
  • #4 run_bug_buddy
    at gnome-breakpad.cc line 223
  • #5 check_if_gdb
    at gnome-breakpad.cc line 292
  • #6 bugbuddy_segv_handle
    at gnome-breakpad.cc line 84
  • #7 <signal handler called>
  • #8 cb_direction_change
    at wbc-gtk.c line 682
  • #9 wbcg_sheet_focus
    at wbc-gtk.c line 1042
  • #10 wb_control_sheet_focus
    at workbook-control.c line 81
  • #11 select_range
    at commands.c line 318
  • #12 cmd_paste_cut_undo
    at commands.c line 2593
  • #13 command_undo
    at commands.c line 428
  • #14 cb_undo_activated
    at wbc-gtk.c line 2428
  • #15 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #16 IA__g_closure_invoke
    at gclosure.c line 767
  • #17 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #18 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #19 IA__g_signal_emit
    at gsignal.c line 3034
  • #20 _gtk_action_emit_activate
    at gtkaction.c line 885
  • #21 closure_accel_activate
    at gtkaction.c line 1650
  • #22 IA__g_closure_invoke
    at gclosure.c line 767
  • #23 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #24 IA__g_signal_emit_valist
  • #25 IA__g_signal_emit
    at gsignal.c line 3034
  • #26 IA__gtk_accel_group_activate
    at gtkaccelgroup.c line 858
  • #27 IA__gtk_accel_groups_activate
    at gtkaccelgroup.c line 896
  • #28 IA__gtk_window_activate_key
    at gtkwindow.c line 8087
  • #29 gtk_window_key_press_event
    at gtkwindow.c line 4995
  • #30 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #31 g_type_class_meta_marshal
    at gclosure.c line 878
  • #32 IA__g_closure_invoke
    at gclosure.c line 767
  • #33 signal_emit_unlocked_R
    at gsignal.c line 3282
  • #34 IA__g_signal_emit_valist
  • #35 IA__g_signal_emit
    at gsignal.c line 3034
  • #36 gtk_widget_event_internal
    at gtkwidget.c line 4745
  • #37 IA__gtk_propagate_event
    at gtkmain.c line 2365
  • #38 IA__gtk_main_do_event
    at gtkmain.c line 1596
  • #39 gdk_event_dispatch
    at gdkevents-x11.c line 2365
  • #40 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #41 g_main_context_iterate
    at gmain.c line 2448
  • #42 IA__g_main_loop_run
    at gmain.c line 2656
  • #43 bonobo_main
    at bonobo-main.c line 311
  • #44 main
    at main-application.c line 473
  • #0 __kernel_vsyscall


----------- .xsession-errors (15808 sec old) ---------------------
e-data-server-ui-Message: Key file does not have key 'imap:__justinb04@imap.aim.com_'
** (nm-applet:3832): WARNING **: Unhandled setting secret type (write) 'connection/autoconnect' : 'gboolean'
** (nm-applet:3832): WARNING **: Unhandled setting secret type (write) 'connection/timestamp' : 'guint64'
** (nm-applet:3832): WARNING **: Unhandled setting secret type (write) 'connection/read-only' : 'gboolean'
** (nm-applet:3832): WARNING **: Unhandled setting secret type (write) '802-11-wireless/ssid' : 'GArray_guchar_'
** (nm-applet:3832): WARNING **: Unhandled setting secret type (write) '802-11-wireless/channel' : 'guint'
** (nm-applet:3832): WARNING **: Unhandled setting secret type (write) '802-11-wireless/bssid' : 'GArray_guchar_'
...Too much output, ignoring rest...
--------------------------------------------------
Comment 1 Justin Blanchard 2009-01-22 02:59:07 UTC
This behavior does seem to be reproducible.
Run Gnumeric.
File -> New. (Now editing a new spreadsheet.)
Type "test" into a cell.
Select it & cut.
Switch to first spreadsheet.
Paste.
Undo.
As gnumeric crashes, I see this output:
** (gnumeric:8155): WARNING **: Failed to find scg for sheet Sheet1
Cannot access memory at address 0xe0102
Cannot access memory at address 0xe0102

I'd be happy to test a non-optimized debug build and/or a development version, especially if others have trouble reproducing the crash.
Comment 2 Jean Bréfort 2009-01-22 09:25:15 UTC
Confirmed in trunk when the two workbooks are opened in the same gnumeric instance. No crash if they are opened in two different instances. In both case, undo does not restore the contents of the initial cell.
Comment 3 Morten Welinder 2009-01-22 14:15:41 UTC
oooh.  tasty.

Here's a trace for the trunk.  The specific failure in the 1.8 trunk
has clearly been handled in the trunk, but it would appear only to
fall over in a different location.

(gdb) where
  • #0 wbcg_set_direction
    at wbc-gtk.c line 687
  • #1 wbcg_sheet_focus
    at wbc-gtk.c line 1220
  • #2 select_range
    at commands.c line 318
  • #3 cmd_paste_cut_undo
    at commands.c line 2596
  • #4 command_undo
    at commands.c line 431
  • #5 cb_undo_activated
    at wbc-gtk.c line 2619

Comment 4 Morten Welinder 2009-01-22 15:31:51 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.

I don't think we'll ever do a new 1.8.x, but the patch at

    http://svn.gnome.org/viewvc/gnumeric?view=revision&revision=17082

ought to apply with little trouble.