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 126262 - gnome-terminal crashed when using with pango
gnome-terminal crashed when using with pango
Status: RESOLVED FIXED
Product: vte
Classification: Core
Component: general
0.11.x
Other Linux
: High critical
: ---
Assigned To: VTE Maintainers
VTE Maintainers
Depends on:
Blocks:
 
 
Reported: 2003-11-05 10:06 UTC by UEYAMA Satoshi
Modified: 2005-07-25 08:49 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
Fixes crashes in Pango vte draw backend (957 bytes, patch)
2005-07-18 14:58 UTC, Michele Baldessari
none Details | Review

Description UEYAMA Satoshi 2003-11-05 10:06:32 UTC
Distribution: Red Hat Linux release 8.0 (Psyche) 
Package: gnome-terminal 
Severity: normal 
Version: GNOME2.4.0 2.4.0.1 
Gnome-Distributor: GARNOME 
Synopsis: gnome-terminal crashed when using with pango 
Bugzilla-Product: gnome-terminal 
Bugzilla-Component: general 
Bugzilla-Version: 2.4.0.1 
BugBuddy-GnomeVersion: 2.0 (2.4.0.1) 
Description: 
Description of the crash: 
I want to use gnome-terminal with pango, but crashed. 
 
Steps to reproduce the crash: 
1. On kterm, set environment variables. 
 
   setenv VTE_USE_SKEL 0 
   setenv VTE_USE_XFT 0 
   setenv VTE_USE_FT2 0 
   setenv VTE_USE_GL 0 
   setenv VTE_USE_PANGO 1 
   setenv VTE_USE_PANGOX 0 
 
2. execute gnome-terminal 
 
   gnome-terminal & 
 
3. fatal-error-occurred dialog popped up. 
 
Expected Results: 
gnome-terminal worked using pango. 
 
How often does this happen? 
Every time. 
 
Additional Information: 
GNOME-2.4 environment is cunstructed by GARNOME-0.27.1.
Comment 1 Mariano Suárez-Alvarez 2003-11-05 11:03:44 UTC
[I can't reproduce this]

Thanks for the bug report. Without a stack trace from the crash it's 
 very hard to determine what caused the crash. Please see
http://bugzilla.gnome.org/getting-traces.cgi for more information
about getting a useful stack trace.
Comment 2 UEYAMA Satoshi 2003-11-05 13:19:18 UTC
I'm sorry. Bug Buddy generated stack trace is below.

[New Thread 16384 (LWP 14150)]
0x405827f7 in waitpid () from /lib/i686/libpthread.so.0

Thread 1 (Thread 16384 (LWP 14150))

  • #0 waitpid
    from /lib/i686/libpthread.so.0
  • #1 libgnomeui_segv_handle
    at gnome-ui-init.c line 738
  • #2 __pthread_sighandler
    from /lib/i686/libpthread.so.0
  • #3 <signal handler called>
  • #4 _vte_pango_destroy
    at vtepango.c line 93
  • #5 _vte_draw_free
    at vtedraw.c line 107
  • #6 vte_terminal_realize
    at vte.c line 11438
  • #7 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #8 g_type_class_meta_marshal
    at gclosure.c line 514
  • #9 g_closure_invoke
    at gclosure.c line 437
  • #10 signal_emit_unlocked_R
    at gsignal.c line 2752
  • #11 g_signal_emit_valist
    at gsignal.c line 2554
  • #12 g_signal_emit
    at gsignal.c line 2612
  • #13 gtk_widget_realize
    at gtkwidget.c line 2018
  • #14 terminal_window_set_active
    at terminal-window.c line 1582
  • #15 notebook_page_switched_callback
    at terminal-window.c line 1736
  • #16 _gtk_marshal_VOID__POINTER_UINT
    at gtkmarshalers.c line 1872
  • #17 g_closure_invoke
    at gclosure.c line 437
  • #18 signal_emit_unlocked_R
    at gsignal.c line 2892
  • #19 g_signal_emit_valist
    at gsignal.c line 2554
  • #20 g_signal_emit
    at gsignal.c line 2612
  • #21 gtk_notebook_switch_page
    at gtknotebook.c line 3632
  • #22 gtk_notebook_insert_page_menu
    at gtknotebook.c line 4143
  • #23 gtk_notebook_append_page
    at gtknotebook.c line 3903
  • #24 terminal_window_add_screen
    at terminal-window.c line 1319
  • #25 terminal_app_new_terminal
    at terminal.c line 1784
  • #26 new_terminal_with_options
    at terminal.c line 1337
  • #27 main
    at terminal.c line 1579
  • #28 __libc_start_main
    from /lib/i686/libc.so.6
  • #0 waitpid
    from /lib/i686/libpthread.so.0

Comment 3 UEYAMA Satoshi 2003-11-05 15:34:44 UTC
I do an additional test.

A LANG environment variable set to `C', gnome-terminal works well. (But 
cannot use Japanese.)

I am generally use `ja_JP.eucJP', gnome-terminal crashed.
Comment 4 Olav Vitters 2003-11-05 17:07:56 UTC
Stacktrace has been added, reopening bug. (not sure if it is
gnome-terminal or vte, so leaving it here)
Comment 5 Mariano Suárez-Alvarez 2003-11-06 00:39:39 UTC
This is vte.

Note that _vte_pango_destroy is getting called with a _vte_draw struct
that has its data member set to NULL, so that it segfaults when it
tries to set something there.

I still can't reproduce this, though (LANG and other env vars set as
the reporter lists): when _vte_pango_destroy is called while
vte_terminal_realize is running, the data member is not NULL...

Moving to vte
Comment 6 Michele Baldessari 2005-07-18 14:58:11 UTC
Created attachment 49357 [details] [review]
Fixes crashes in Pango vte draw backend
Comment 7 Michele Baldessari 2005-07-18 14:59:19 UTC
The patch above fixes this crasher. Here's the relevant ChangeLog entry:

2005-07-18  Michele Baldessari  <michele@pupazzo.org>

       * src/vtepango.c (_vte_pango_create): Initialize
       PangoContext * data->ctx with NULL. Closes bug #126262

Comment 8 Kjartan Maraas 2005-07-25 08:49:52 UTC
Crash fix which is pretty straight forward. I'm commiting this.