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 615232 - Crashes on session startup with transparent background
Crashes on session startup with transparent background
Status: RESOLVED OBSOLETE
Product: vte
Classification: Core
Component: general
0.24.x
Other Linux
: Normal critical
: ---
Assigned To: GNOME Terminal Maintainers
GNOME Terminal Maintainers
[fixed-next]
: 616993 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-04-08 22:32 UTC by Josselin Mouette
Modified: 2014-03-27 18:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don’t crash when there is no background (901 bytes, patch)
2010-04-09 08:21 UTC, Josselin Mouette
needs-work Details | Review

Description Josselin Mouette 2010-04-08 22:32:30 UTC
Since version 2.30, gnome-terminal still saves itself correctly when you save the session. However it fails to startup correctly when the session is restored.
Comment 1 Christian Persch 2010-04-08 22:39:38 UTC
How does it fail? Not start at all? Starts, but not the expected number of tabs/windows open? What's the exact command that's started by the session manager, and the contents of the g-t .ini session file it points to?
Comment 2 Christian Persch 2010-04-08 22:42:11 UTC
Also, what was the version it last worked with? Can you try that version but with 2.30's session manager and see if maybe it's the sm that's broken?
Comment 3 Josselin Mouette 2010-04-08 22:53:46 UTC
(In reply to comment #2)
> Also, what was the version it last worked with? 

It used to work with 2.28.2. I have not checked with the 2.29 series yet.

> Can you try that version but
> with 2.30's session manager and see if maybe it's the sm that's broken?

I’m still running gnome-session 2.28. Given how reliable it is, I would have immediately suspected the session manager if I had upgraded it :)

(In reply to comment #1)
> How does it fail? Not start at all? Starts, but not the expected number of
> tabs/windows open? What's the exact command that's started by the session
> manager, and the contents of the g-t .ini session file it points to?

It’s a command like this:
gnome-terminal --sm-client-id 10c49b99df407282b9127076333845615400000087430022 --sm-client-state-file /home/joss/.config/session-state/gnome-terminal-1270763483.desktop

Now that I look closer, it seems that running that same command by hand works (it didn’t the first time I tried, because I forgot to add --disable-factory from another terminal). So this looks more like a crash that only happens if the terminal is started too early in the session. I’ll have a closer look.
Comment 4 Josselin Mouette 2010-04-08 23:15:03 UTC
I confirm it’s a crash, and it only happens when the background is transparent. Now I just need to find a way to let it spit a backtrace.
Comment 5 Josselin Mouette 2010-04-08 23:49:35 UTC
Here we are.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4a62e1b in cairo_xlib_surface_get_width (abstract_surface=0x0)
    at /tmp/buildd/cairo-1.8.10/src/cairo-xlib-surface.c:2451
2451	/tmp/buildd/cairo-1.8.10/src/cairo-xlib-surface.c: Aucun fichier ou dossier de ce type.
	in /tmp/buildd/cairo-1.8.10/src/cairo-xlib-surface.c

Thread 1 (Thread 0x7ffff7fc87d0 (LWP 7619))

  • #0 cairo_xlib_surface_get_width
    at /tmp/buildd/cairo-1.8.10/src/cairo-xlib-surface.c line 2451
  • #1 vte_bg_get_surface
    at /tmp/vte-0.24.0/./src/vtebg.c line 482
  • #2 _vte_draw_set_background_image
    at /tmp/vte-0.24.0/./src/vtedraw.c line 898
  • #3 vte_terminal_background_update
    at /tmp/vte-0.24.0/./src/vte.c line 12507
  • #4 vte_terminal_realize
    at /tmp/vte-0.24.0/./src/vte.c line 8617
  • #5 terminal_screen_realize
    at terminal-screen.c line 330
  • #6 IA__g_closure_invoke
    at /tmp/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3178
  • #8 IA__g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #9 IA__g_signal_emit
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #10 IA__gtk_widget_realize
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3501
  • #11 IA__gtk_widget_map
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3375
  • #12 gtk_box_forall
    at /gtk+2.0-2.20.0/gtk/gtkbox.c line 1251
  • #13 gtk_container_map
    at /gtk+2.0-2.20.0/gtk/gtkcontainer.c line 2670
  • #14 IA__g_closure_invoke
    at /tmp/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #15 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3178
  • #16 IA__g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #17 IA__g_signal_emit
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #18 IA__gtk_widget_map
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3377
  • #19 gtk_notebook_map
    at /gtk+2.0-2.20.0/gtk/gtknotebook.c line 1747
  • #20 IA__g_closure_invoke
    at /tmp/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #21 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3178
  • #22 IA__g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #23 IA__g_signal_emit
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #24 IA__gtk_widget_map
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3377
  • #25 gtk_box_forall
    at /gtk+2.0-2.20.0/gtk/gtkbox.c line 1261
  • #26 gtk_container_map
    at /gtk+2.0-2.20.0/gtk/gtkcontainer.c line 2670
  • #27 IA__g_closure_invoke
    at /tmp/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #28 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3178
  • #29 IA__g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #30 IA__g_signal_emit
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #31 IA__gtk_widget_map
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3377
  • #32 gtk_window_map
    at /gtk+2.0-2.20.0/gtk/gtkwindow.c line 4576
  • #33 IA__g_closure_invoke
    at /tmp/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #34 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3178
  • #35 IA__g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #36 IA__g_signal_emit
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #37 IA__gtk_widget_map
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3377
  • #38 gtk_window_show
    at /gtk+2.0-2.20.0/gtk/gtkwindow.c line 4540
  • #39 terminal_window_show
    at terminal-window.c line 2141
  • #40 IA__g_closure_invoke
    at /tmp/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #41 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3178
  • #42 IA__g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #43 IA__g_signal_emit
    at /tmp/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #44 IA__gtk_widget_show
    at /gtk+2.0-2.20.0/gtk/gtkwidget.c line 3185
  • #45 terminal_app_handle_options
    at terminal-app.c line 1827
  • #46 main
    at terminal.c line 485

Comment 6 Josselin Mouette 2010-04-09 08:21:58 UTC
Created attachment 158264 [details] [review]
Don’t crash when there is no background

I was just sent this patch in another bug report, and it should precisely fix this crash.
Comment 7 Behdad Esfahbod 2010-04-10 05:17:04 UTC
The patch looks like it needs more work to me.  Lets see if krh can look into it.  Humm, don't have his bugzilla address.  ChPe,can you CC krh please.
Comment 8 Christian Persch 2010-04-10 14:51:50 UTC
CCing krh.

I already made some fixes to vtebg on master, but it's still not quite right.
Comment 9 Behdad Esfahbod 2010-04-10 15:08:18 UTC
Humm, his redhat.com address is bouncing.  Pinged him on IRC.
Comment 10 Fabio Durán Verdugo 2010-04-28 03:29:18 UTC
*** Bug 616993 has been marked as a duplicate of this bug. ***