im-xim.so module causes GIMP to crash
Submitted by Alexia Death
Link to original bug (#741118)
Description
GIMP crashes on starting text entry on canvas with an extended input device and throws warnings as well. Those are present with non-extended input devices as well. Debugging in gimp lead to GTK and the im-xim.so module. Once removed, the crash was no longer repeatable and only warnings were about the missing module. For some reason Michael Natterer is unable to replicate this bug on his system, but I can see this 100% every time. Linux in question is Ubuntu, but GTK is 2.24.25 built from GIT.
Warnings that preceded the crash:
(gimp-2.9:21888): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.23/gdk/x11/gdkdrawable-x11.c:942 drawable is not a native X11 window
(gimp-2.9:21888): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.23/gdk/x11/gdkdrawable-x11.c:942 drawable is not a native X11 window
(gimp-2.9:21888): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.23/gdk/x11/gdkdrawable-x11.c:942 drawable is not a native X11 window
(gimp-2.9:21888): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.23/gdk/x11/gdkdrawable-x11.c:942 drawable is not a native X11 window
Trace from above warning with --g-fatal-warnings
:
(gimp-2.9:28132): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.23/gdk/x11/gdkdrawable-x11.c:942 drawable is not a native X11 window
Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x7ffff72d6f13 "Gdk", log_level=G_LOG_LEVEL_WARNING, format=<optimised out>, args=args@entry=0x7fffffffd928) at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1038
1038 /build/buildd/glib2.0-2.40.2/./glib/gmessages.c: No such file or directory.
(gdb) bt
#0 g_logv (log_domain=0x7ffff72d6f13 "Gdk", log_level=G_LOG_LEVEL_WARNING, format=<optimised out>, args=args@entry=0x7fffffffd928) at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1038
#1 0x00007ffff40a8d72 in g_log (log_domain=log_domain@entry=0x7ffff72d6f13 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=<optimised out>) at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1071
#2 0x00007ffff72ba08a in IA__gdk_x11_drawable_get_xid (drawable=<optimised out>) at /build/buildd/gtk+2.0-2.24.23/gdk/x11/gdkdrawable-x11.c:952
#3 0x00007fff998badf2 in gtk_im_context_xim_get_ic (context_xim=0x6816620) at /build/buildd/gtk+2.0-2.24.23/modules/input/gtkimcontextxim.c:1435
#4 0x00007fff998bb06e in gtk_im_context_xim_set_cursor_location (context=<optimised out>, area=0x7fffffffdad0) at /build/buildd/gtk+2.0-2.24.23/modules/input/gtkimcontextxim.c:821
#5 0x00007ffff75d6d7e in update_im_cursor_location (entry=0x608a1d0) at /build/buildd/gtk+2.0-2.24.23/gtk/gtkentry.c:5300
#6 recompute_idle_func (data=0x608a1d0) at /build/buildd/gtk+2.0-2.24.23/gtk/gtkentry.c:5317
#7 0x00007ffff7282ce7 in gdk_threads_dispatch (data=0x9c94280) at /build/buildd/gtk+2.0-2.24.23/gdk/gdk.c:512
#8 0x00007ffff40a1ce5 in g_main_dispatch (context=0xc534b0) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3064
#9 g_main_context_dispatch (context=context@entry=0xc534b0) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3663
#10 0x00007ffff40a2048 in g_main_context_iterate (context=0xc534b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimised out>) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3734
#11 0x00007ffff40a230a in g_main_loop_run (loop=0x5478990) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3928
#12 0x0000000000488535 in app_run (full_prog_name=<optimised out>, filenames=<optimised out>, alternate_system_gimprc=alternate_system_gimprc@entry=0x0, alternate_gimprc=alternate_gimprc@entry=0x0, session_name=<optimised out>, batch_interpreter=0x0,
batch_commands=0x0, as_new=0, no_interface=0, no_data=0, no_fonts=0, no_splash=0, be_verbose=0, use_shm=1, use_cpu_accel=1, console_messages=0, use_debug_handler=0, show_playground=1, stack_trace_mode=GIMP_STACK_TRACE_QUERY, pdb_compat_mode=GIMP_PDB_COMPAT_WARN)
at app.c:309
#13 0x0000000000487f58 in main (argc=<optimised out>, argv=0xbaa2d0) at main.c:459
Trace from the crash itself:
#0 0x00007f9b5ec10ee9 in __libc_waitpid (pid=21934,
#1 0x00007f9b5f2acc93 in g_on_error_stack_trace (
#2 0x00007f9b5f2acdea in g_on_error_query (
#3 0x0000000000488b3e in gimp_eek (
#4 0x0000000000488ce6 in gimp_fatal_error (message=<optimised out>)
#5 0x00000000004893e8 in gimp_sigfatal_handler (sig_num=<optimised out>)
#6 <signal handler called>
#7 0x00007f9b625092eb in gdk_input_translate_coordinates (
#8 0x00007f9b6250a6ad in IA__gdk_device_get_state (device=0x20c9d10,
#9 0x00000000005924ab in gimp_device_info_get_device_coords (
#10 0x000000000059276e in gimp_device_info_get_event_coords (
#11 0x0000000000553349 in gimp_display_shell_get_event_coords (
#12 0x0000000000553d4a in gimp_display_shell_canvas_tool_events (
#13 0x00007f9b62878815 in _gtk_marshal_BOOLEAN__BOXED (closure=0x62e1430,
#14 0x00007f9b5f5a53b8 in g_closure_invoke (closure=0x62e1430,
#15 0x00007f9b5f5b6d3d in signal_emit_unlocked_R (node=node@entry=0x25d1250,
#16 0x00007f9b5f5be6f9 in g_signal_emit_valist (instance=<optimised out>,
#17 0x00007f9b5f5bece2 in g_signal_emit (instance=instance@entry=0x25816d0,
#18 0x00007f9b62988724 in gtk_widget_event_internal (
#19 0x00007f9b629889f9 in IA__gtk_widget_event (widget=widget@entry=0x25816d0,
#20 0x00007f9b62877076 in IA__gtk_propagate_event (widget=0x25816d0,
#21 0x00007f9b6287737b in IA__gtk_main_do_event (event=0x11f2f8b0)
#22 0x00007f9b624f21ec in gdk_event_dispatch (source=<optimised out>,
#23 0x00007f9b5f2d5e04 in g_main_dispatch (context=0x20c9420)
#24 g_main_context_dispatch (context=context@entry=0x20c9420)
#25 0x00007f9b5f2d6048 in g_main_context_iterate (context=0x20c9420,
#26 0x00007f9b5f2d630a in g_main_loop_run (loop=0x6f7c9b0)
#27 0x0000000000488535 in app_run (full_prog_name=<optimised out>,
#28 0x0000000000487f58 in main (argc=<optimised out>, argv=0x20202d0)
Version: 2.24.x
See also
Edited by Emmanuele Bassi