Bug 514318 - gnome-terminal crashed with SIGSEGV
gnome-terminal crashed with SIGSEGV
Status: RESOLVED FIXED
Product: gnome-terminal
Classification: Core
Component: general
2.21.x
Other Linux
: Normal critical
: gnome-2-22
Assigned To: GNOME Terminal Maintainers
GNOME Terminal Maintainers
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2008-02-04 15:22 UTC by Pedro Villavicencio
Modified: 2008-02-05 18:03 UTC (History)
1 user (show)

See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
disconnect from settings changes on dispose instead of finalize (1.66 KB, patch)
2008-02-04 18:31 UTC, Christian Persch
accepted-commit_now Details | Diff | Review

Description Pedro Villavicencio 2008-02-04 15:22:19 UTC
This bug has been reported here:

https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/188565

"#0  0x0806e5f1 in terminal_widget_set_cursor_blinks (widget=0x842fd00, setting=1)
    at terminal-widget-vte.c:300
	__t = <value optimized out>
	__PRETTY_FUNCTION__ = "terminal_widget_set_cursor_blinks"
  • #1 terminal_screen_sync_settings
    at terminal-screen.c line 255
  • #2 IA__g_cclosure_marshal_VOID__PARAM
    at /build/buildd/glib2.0-2.15.4/gobject/gmarshal.c line 531
  • #3 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.4/gobject/gclosure.c line 490
  • #4 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.4/gobject/gsignal.c line 2440
  • #5 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.4/gobject/gsignal.c line 2199
  • #6 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.4/gobject/gsignal.c line 2243
  • #7 g_object_dispatch_properties_changed
    at /build/buildd/glib2.0-2.15.4/gobject/gobject.c line 563
  • #8 g_object_notify_dispatcher
    at /build/buildd/glib2.0-2.15.4/gobject/gobject.c line 245
  • #9 IA__g_object_notify
    at /build/buildd/glib2.0-2.15.4/gobject/gobjectnotifyqueue.c line 123
  • #10 _gtk_settings_handle_event
    at /build/buildd/gtk+2.0-2.12.7/gtk/gtksettings.c line 1752
  • #11 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.12.7/gtk/gtkmain.c line 1404
  • #12 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.12.7/gdk/x11/gdkevents-x11.c line 2351
  • #13 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.15.4/glib/gmain.c line 2064
  • #14 g_main_context_iterate
    at /build/buildd/glib2.0-2.15.4/glib/gmain.c line 2697
  • #15 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.15.4/glib/gmain.c line 2905
  • #16 IA__gtk_main
    at /build/buildd/gtk+2.0-2.12.7/gtk/gtkmain.c line 1163
  • #17 main
    at terminal.c line 1337
  • #18 __libc_start_main
    from /lib/tls/i686/cmov/libc.so.6
  • #19 _start

    
Comment 1 Christian Persch 2008-02-04 18:30:32 UTC
line 300 in terminal-widget-vte.c is:
  g_return_if_fail(VTE_IS_TERMINAL(widget));
so maybe the TerminalScreen was already destroyed and thus priv->term invalid ? The following patch might fix it in that case. Behdad?
Comment 2 Christian Persch 2008-02-04 18:31:35 UTC
Created attachment 104419 [details] [review]
disconnect from settings changes on dispose instead of finalize
Comment 3 Behdad Esfahbod 2008-02-04 23:14:51 UTC
Looks good to me.
Comment 4 Christian Persch 2008-02-05 18:03:23 UTC
        * src/terminal-screen.c: (terminal_screen_class_init),
        (terminal_screen_dispose), (terminal_screen_finalize): Disconnect from
        the settings notify on dispose instead of finalise. Possibly fixes the
        crash in bug #514318.

I'll consider this FIXED unless and until we get the same crash again with the version that contains this fix (will be in 2.21.92).

Note You need to log in before you can comment on or make changes to this bug.