gui_init_check() itself doesn't hang. After initializing GUI, Vim hangs in gui_mch_update(). I think "gtk_init_check() -> fork() -> gui_mch_update()" causes hang.
Here is backtrace with "gdb vim <pid>" while vim is hanging. I found same issue in Ubuntu's bug tracker. [gvim in Precise can't connect to ibus and takes a long time to load] https://bugs.launchpad.net/ubuntu/+source/vim/+bug/987707 (gdb) bt #0 0x00007f1fcea8fb03 in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f1fd04bbff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f1fd04bc45a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f1fcde2388d in g_dbus_connection_send_message_with_reply_sync () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007f1fcde23c90 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #5 0x00007f1fcde25a28 in g_dbus_connection_call_sync () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #6 0x00007f1fcde25cd6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #7 0x00007f1fcddc128f in g_initable_new_valist () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #8 0x00007f1fcddc1379 in g_initable_new () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #9 0x00007f1fcde243df in g_dbus_connection_new_for_address_sync () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #10 0x00007f1fc1b32d02 in ?? () from /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0 #11 0x00007f1fc1b32e4d in ?? () from /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0 #12 0x00007f1fd0799957 in g_type_create_instance () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007f1fd077e0b9 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #14 0x00007f1fc1b30deb in ?? () from /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0 #15 0x00007f1fd077fc02 in g_object_newv () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #16 0x00007f1fd07801ec in g_object_new () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #17 0x00007f1fc1b30e3a in ibus_bus_new () from /usr/lib/x86_64-linux-gnu/libibus-1.0.so.0 #18 0x00007f1fc1d5d09a in ?? () from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so #19 0x00007f1fd0797627 in g_type_class_ref () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #20 0x00007f1fd077fcac in g_object_newv () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #21 0x00007f1fd07801ec in g_object_new () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #22 0x00007f1fc1d5db62 in ibus_im_context_new () from /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-ibus.so #23 0x00007f1fd11f1526 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #24 0x00007f1fd11f1e09 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #25 0x00007f1fd11f1fe1 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #26 0x0000000000567615 in gui_focus_change (in_focus=1) at gui.c:4726 #27 0x000000000056e9ee in focus_in_event (widget=0x23a2360, event=<optimized out>, data=<optimized out>) at gui_gtk_x11.c:777 #28 0x00007f1fd1209dd8 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #29 0x00007f1fd0778ca2 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #30 0x00007f1fd0789d71 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #31 0x00007f1fd0791d7e in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #32 0x00007f1fd0792242 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #33 0x00007f1fd1324191 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #34 0x00007f1fd12084fb in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #35 0x00007f1fd0e7ccac in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #36 0x00007f1fd04bbc9a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #37 0x00007f1fd04bc060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #38 0x00007f1fd04bc124 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #39 0x0000000000571d95 in gui_mch_update () at gui_gtk_x11.c:5339 #40 0x0000000000571dc7 in gui_mch_set_shellsize (width=580, height=494, min_width=<optimized out>, min_height=<optimized out>, base_width=<optimized out>, base_height=<optimized out>, direction=15) at gui_gtk_x11.c:3927 #41 0x0000000000565d71 in gui_set_shellsize (mustset=<optimized out>, fit_to_display=1, direction=15) at gui.c:1615 #42 0x00000000005668e0 in gui_init () at gui.c:707 #43 0x000000000054dfcf in set_termname (term=<optimized out>) at term.c:1776 #44 0x0000000000567b29 in gui_attempt_start () at gui.c:161 #45 0x0000000000567dea in gui_do_fork () at gui.c:293 #46 gui_start () at gui.c:100 #47 0x0000000000410930 in main (argc=<optimized out>, argv=<optimized out>) at main.c:661 -- Yukihiro Nakadaira - [email protected] -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
