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 353192 - Crash on first keystroke when composing
Crash on first keystroke when composing
Status: RESOLVED FIXED
Product: GtkHtml
Classification: Other
Component: Editing
3.11.x
Other All
: Normal critical
: ---
Assigned To: gtkhtml-maintainers
Evolution QA team
Depends on:
Blocks: 270248
 
 
Reported: 2006-08-28 08:37 UTC by Theppitak Karoonboonyanan
Modified: 2006-08-28 14:17 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
A possible fix (645 bytes, patch)
2006-08-28 08:58 UTC, Theppitak Karoonboonyanan
none Details | Review

Description Theppitak Karoonboonyanan 2006-08-28 08:37:24 UTC
Steps to reproduce:
1. Open Evolution 2.7.91 under th_TH locale.
2. Compose a new mail message.
3. Choose "X Input Method" in mail body area.
4. Type a first character.
5. Crash.


Stack trace:
Distribution: Debian testing/unstable
Gnome Release: 2.15.91 2006-08-15 (JHBuild)
BugBuddy Version: 2.15.91

Memory status: size: 89145344 vsize: 0 resident: 89145344 share: 0 rss: 27533312 rss_rlim: 0
CPU usage: start_time: 1156750357 rtime: 0 utime: 372 stime: 0 cutime:332 cstime: 0 timeout: 40 it_real_value: 0 frequency: 0

Backtrace was generated from '/home/thep/gnomez/bin/evolution-2.8'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1233373504 (LWP 521)]
[New Thread -1279476816 (LWP 729)]
[New Thread -1271084112 (LWP 727)]
[New Thread -1261872208 (LWP 725)]
[New Thread -1253479504 (LWP 724)]
[New Thread -1244968016 (LWP 691)]
0xffffe410 in __kernel_vsyscall ()
  • #0 __kernel_vsyscall
  • #1 waitpid
    from /lib/tls/i686/cmov/libc.so.6
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 867
  • #3 <signal handler called>
  • #4 __kernel_vsyscall
  • #5 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #6 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #7 IA__g_logv
    at gmessages.c line 497
  • #8 IA__g_log
    at gmessages.c line 517
  • #9 IA__g_return_if_fail_warning
    at gmessages.c line 532
  • #10 IA__gtk_im_context_set_surrounding
    at gtkimcontext.c line 422
  • #11 gtk_html_im_retrieve_surrounding_cb
    at gtkhtml.c line 3374
  • #12 _gtk_marshal_BOOLEAN__VOID
    at gtkmarshalers.c line 787
  • #13 IA__g_closure_invoke
    at gclosure.c line 490
  • #14 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #15 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #16 IA__g_signal_emit_by_name
    at gsignal.c line 2265
  • #17 gtk_im_multicontext_retrieve_surrounding_cb
    at gtkimmulticontext.c line 433
  • #18 _gtk_marshal_BOOLEAN__VOID
    at gtkmarshalers.c line 787
  • #19 IA__g_closure_invoke
    at gclosure.c line 490
  • #20 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #21 IA__g_signal_emit_valist
    at gsignal.c line 2207
  • #22 IA__g_signal_emit
    at gsignal.c line 2241
  • #23 gtk_im_context_real_get_surrounding
    at gtkimcontext.c line 187
  • #24 IA__gtk_im_context_get_surrounding
    at gtkimcontext.c line 476
  • #25 gtk_im_context_libthai_filter_keypress
    at ../../src/gtkimcontextthai.c line 199
  • #26 IA__gtk_im_context_filter_keypress
    at gtkimcontext.c line 288
  • #27 gtk_im_multicontext_filter_keypress
    at gtkimmulticontext.c line 286
  • #28 IA__gtk_im_context_filter_keypress
    at gtkimcontext.c line 288
  • #29 key_press_event
    at gtkhtml.c line 971
  • #30 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #31 g_type_class_meta_marshal
    at gclosure.c line 567
  • #32 IA__g_closure_invoke
    at gclosure.c line 490
  • #33 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #34 IA__g_signal_emit_valist
  • #35 IA__g_signal_emit
    at gsignal.c line 2241
  • #36 gtk_widget_event_internal
    at gtkwidget.c line 3901
  • #37 IA__gtk_window_propagate_key_event
    at gtkwindow.c line 4671
  • #38 gtk_window_key_press_event
    at gtkwindow.c line 4701
  • #39 bonobo_window_key_press_event
    at bonobo-window.c line 267
  • #40 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #41 g_type_class_meta_marshal
    at gclosure.c line 567
  • #42 IA__g_closure_invoke
    at gclosure.c line 490
  • #43 signal_emit_unlocked_R
    at gsignal.c line 2476
  • #44 IA__g_signal_emit_valist
  • #45 IA__g_signal_emit
    at gsignal.c line 2241
  • #46 gtk_widget_event_internal
    at gtkwidget.c line 3901
  • #47 IA__gtk_propagate_event
    at gtkmain.c line 2161
  • #48 IA__gtk_main_do_event
    at gtkmain.c line 1421
  • #49 gdk_event_dispatch
    at gdkevents-x11.c line 2320
  • #50 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #51 g_main_context_iterate
    at gmain.c line 2677
  • #52 IA__g_main_loop_run
    at gmain.c line 2881
  • #53 bonobo_main
    at bonobo-main.c line 311
  • #54 main
    at main.c line 614


Other information:
(Some irrelevant stack trace is truncated, so it's not longer than 65,536 characters.)
Comment 1 Theppitak Karoonboonyanan 2006-08-28 08:58:09 UTC
Created attachment 71752 [details] [review]
A possible fix

Apparently, it crashed in gtk_html_im_retrieve_surrounding_cb() in gtkhtml.c, when the text returned from get_surrounding_text() is NULL. This patch checks the return value and calls gtk_im_context_set_surrounding() properly.
Comment 2 Theppitak Karoonboonyanan 2006-08-28 11:09:40 UTC
This blocks Bug #270248.
Comment 3 Theppitak Karoonboonyanan 2006-08-28 14:17:59 UTC
Bug fixed by patch in Bug #270248.