K.Suzukiです。
On Fri, 20 Jan 2006 20:16:09 +0100
Takashi Iwai
At Sat, 21 Jan 2006 03:23:22 +0900, Satoru Matsumoto wrote:
ついでに、 % GTK_IM_MODULE=xim firefox & でFirefoxを起動して試してみましたが、やはり同じ現象(scim-anthyが起動して いる状態で「ファイル」→「プリント」と選択すると、Firefoxが落ちる)は再現 します。
64bit 環境で 32bit の firefox (GTK アプリ) を用いる場合、 scim-32bit がインストールされていない状態では /opt/gnome/lib/gtk-2.0/immodules 以下は空のはずです。(*/lib64/* にはも ちろん入っていますが) すなわち、この状態では入力メソッドとして fallback の XIM が用いられる ことになります。ですから、上記はまさに松本さんの最初の状態ということで す。
そういう事情があるため、先のメールに書いたように scim-32bit をインストー ルすることで何か変化がないか、と考えた訳です。もしそれで直っているよう であれば、XIM の周りの問題だと帰結できる、と。ただ、scim-32bit をイン ストールして GTK->SCIM 直でも発生するようであれば、他の問題、というこ とになりますね。
腑に落ちないのは、32bit 環境ではこの手の問題はあまり耳にしたことがなかっ たし、私の周りでも発生していない点です。firefox のバイナリ自体は同じは ずですから、異なる点といえば、32bit -> 64bit の変換が必要な部分、例え ば SCIM の通信部分や X lib などが考えられます。まあ、後者の可能性は低 そうですが…。あと、skim は使ってないので何ともいえませんが。
このスレッドの最初の報告をしてくれた kattsun さん、佐藤さんと同様、 Firefox 1.0.6、1.0.7 を使っていた時は、とにかくメニューバーにあるメ ニューから何かを選択して操作しようとすると、ほとんどの操作で Firefox が 落ちていました。1.5.0 を使うようになってからは、一見それが解消されている かのように見えていたので気にせず使っていたのですが、まだ問題が残っている ことに気がついたのです。
# まぁ、再現状況がはっきりしているので、印刷や印刷プレビューをしたい # 場合には、いったん日本語入力状態でなくしておけばいいんで、 # そのことをうっかり忘れなければ済むことではあるんですけれど…。
自分の環境(x86-64)でも同じ現象が出たので少し調べてみました。
うーん、これは一度 SCIM のウインドウが消えてもう一度現れる時、なのかなぁ。 scim の setup で「全てのアプリケーションで同一入力メソッドを使用」を 外してみると、何か違いが出てきますか?
自分の場合、「全てのアプリケーションで同一入力メソッドを使用」を外して、 X を再起動したところ問題が解消しました。 (XIMInputStyle は、On The Spot です) それから、Firefox を gdb で追跡したログを取ったので以下に貼っておきます。 $ gdb -q /opt/MozillaFirefox/lib/firefox-bin (no debugging symbols found) Using host libthread_db library "/lib64/tls/libthread_db.so.1". (gdb) r Starting program: /opt/MozillaFirefox/lib/firefox-bin (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 1445840128 (LWP 29900)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [New Thread 1449208752 (LWP 29905)] [New Thread 1465289648 (LWP 29908)] [New Thread 1469057968 (LWP 29909)] [New Thread 1479289776 (LWP 29911)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1445840128 (LWP 29900)] 0x56db60bf in _XimSetEventMaskCallback (xim=0x8ad11e8, len=16, data=0xffff5a28 "%", call_data=0x8ad11e8 "\225V\230L\220\b/\t\220\b") at imDefLkup.c:70 70 imDefLkup.c: そのようなファイルやディレクトリはありません. in imDefLkup.c (gdb) bt #0 0x56db60bf in _XimSetEventMaskCallback (xim=0x8ad11e8, len=16, data=0xffff5a28 "%", call_data=0x8ad11e8 "\225V\230L\220\b/\t\220\b") at imDefLkup.c:70 #1 0x56db7cd5 in _XimTransportIntr (im=0x8ad11e8, len=16, data=0xffff5a28 "%", call_data=0x8ad11e8 "\225V\230L\220\b/\t\220\b") at imDispch.c:92 #2 0x56dc583a in _XimXCallDispatcher (im=0x8ad11e8, len=16, data=0xffff5a28 "%") at imTrX.c:85 #3 0x56dc6b7a in _XimCallDispatcher (im=<value optimized out>, len=<value optimized out>, data=<value optimized out>) at imTransR.c:210 #4 0x56dc6be8 in _XimRead (im=0x8ad11e8, len=0x0, buf=0xffff5a28 "%", buf_size=2048, predicate=0x56db1910 <_XimGetICValuesCheck>, arg=0x92fd9c0 "\225V\021\bp=#\t.\003@\003\002\002") at imTransR.c:234 #5 0x56db1cde in _XimProtoGetICValues (xic=0x92fd9c0, arg=0x92692a8) at imDefIc.c:357 #6 0x55d13f45 in XGetICValues () from /usr/X11R6/lib/libX11.so.6 #7 0x56da95a0 in gtk_im_context_xim_new () from /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so #8 0x56da9765 in gtk_im_context_xim_new () from /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so #9 0x55839961 in gtk_im_context_set_cursor_location () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #10 0x5583bbc7 in gtk_im_multicontext_new () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #11 0x55839961 in gtk_im_context_set_cursor_location () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #12 0x081f962d in nsCOMPtr<nsISupports>::nsCOMPtr () #13 0x081f965f in nsCOMPtr<nsISupports>::nsCOMPtr () #14 0x081f9a81 in nsCOMPtr<nsISupports>::nsCOMPtr () #15 0x55b6e5eb in g_cclosure_marshal_VOID__VOID () from /opt/gnome/lib/libgobject-2.0.so.0 #16 0x55b61d19 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #17 0x55b71816 in g_signal_stop_emission () from /opt/gnome/lib/libgobject-2.0.so.0 #18 0x55b72e80 in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #19 0x55b75be0 in g_signal_emit_by_name () from /opt/gnome/lib/libgobject-2.0.so.0 #20 0x5583bd97 in gtk_im_multicontext_new () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #21 0x55b6e5eb in g_cclosure_marshal_VOID__VOID () from /opt/gnome/lib/libgobject-2.0.so.0 #22 0x55b61d19 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #23 0x55b71816 in g_signal_stop_emission () from /opt/gnome/lib/libgobject-2.0.so.0 #24 0x55b72e80 in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #25 0x55b75be0 in g_signal_emit_by_name () from /opt/gnome/lib/libgobject-2.0.so.0 #26 0x56da7dfd in gtk_im_context_xim_new () from /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so #27 0x56db0f4c in _XimPreeditCaretCallback (im=0x8ad11e8, ic=0x9233d70, proto=0xffff6fb0 "", len=12) at imCallbk.c:613 #28 0x56db07cb in _XimCbDispatch (xim=0x8ad11e8, len=20, data=0xffff6fa8 "L", call_data=0x8ad11e8 "\225V\230L\220\b/\t\220\b") at imCallbk.c:256 #29 0x56dc583a in _XimXCallDispatcher (im=0x8ad11e8, len=20, data=0xffff6fa8 "L") at imTrX.c:85 #30 0x56dc6b7a in _XimCallDispatcher (im=<value optimized out>, len=<value optimized out>, data=<value optimized out>) at imTransR.c:210 #31 0x56dc6be8 in _XimRead (im=0x8ad11e8, len=0x0, buf=0xffff6fa8 "L", buf_size=2048, predicate=0x56db18b0 <_XimCreateICCheck>, arg=0x0) at imTransR.c:234 #32 0x56db33c9 in _XimProtoCreateIC (xim=0x8ad11e8, arg=0x900a180) at imDefIc.c:1511 ---Type <return> to continue, or q <return> to quit--- #33 0x55d13e4c in XCreateIC () from /usr/X11R6/lib/libX11.so.6 #34 0x56da9550 in gtk_im_context_xim_new () from /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so #35 0x56da9c47 in gtk_im_context_xim_new () from /opt/gnome/lib/gtk-2.0/2.4.0/immodules/im-xim.so #36 0x558397d7 in gtk_im_context_focus_in () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #37 0x5583badf in gtk_im_multicontext_new () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #38 0x558397d7 in gtk_im_context_focus_in () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #39 0x081f8ae2 in nsCOMPtr<nsISupports>::nsCOMPtr () #40 0x081fb238 in nsCOMPtr<nsISupports>::nsCOMPtr () #41 0x0837c00e in nsCOMPtr<nsIException>::operator= () #42 0x082f030c in nsCOMPtr<nsISupportsArray>::nsCOMPtr () #43 0x082171f7 in nsCOMPtr<nsIBidirectionalEnumerator>::nsCOMPtr () #44 0x08219eda in nsCOMPtr<nsIBidirectionalEnumerator>::nsCOMPtr () #45 0x0836e7b9 in nsCOMTypeInfo<nsICollection>::GetIID () #46 0x08370120 in nsCOMTypeInfo<nsICollection>::GetIID () #47 0x0837bd7e in nsCOMPtr<nsIException>::operator= () #48 0x08579afc in nsCOMPtr<nsIEventQueue>::nsCOMPtr () #49 0x081fe29b in nsCOMPtr<nsISupports>::nsCOMPtr () #50 0x081fe4f7 in nsCOMPtr<nsISupports>::nsCOMPtr () #51 0x081faf46 in nsCOMPtr<nsISupports>::nsCOMPtr () #52 0x081fb061 in nsCOMPtr<nsISupports>::nsCOMPtr () #53 0x081fb0a2 in nsCOMPtr<nsISupports>::nsCOMPtr () #54 0x55857e60 in gtk_marshal_VOID__UINT_STRING () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #55 0x55b61d19 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #56 0x55b71816 in g_signal_stop_emission () from /opt/gnome/lib/libgobject-2.0.so.0 #57 0x55b72bee in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #58 0x55b731f5 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 #59 0x5594a3b4 in gtk_widget_activate () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #60 0x5595af41 in gtk_window_propagate_key_event () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #61 0x5595f71a in gtk_window_activate_key () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #62 0x5595f7f2 in gtk_window_activate_key () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #63 0x55857e60 in gtk_marshal_VOID__UINT_STRING () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #64 0x55b61637 in g_cclosure_new_swap () from /opt/gnome/lib/libgobject-2.0.so.0 #65 0x55b61d19 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #66 0x55b719a7 in g_signal_stop_emission () from /opt/gnome/lib/libgobject-2.0.so.0 #67 0x55b72bee in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #68 0x55b731f5 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 #69 0x5594a3b4 in gtk_widget_activate () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #70 0x5585674b in gtk_main_do_event () from /opt/gnome/lib/libgtk-x11-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #71 0x55a5cf8a in gdk_screen_get_setting () from /opt/gnome/lib/libgdk-x11-2.0.so.0 #72 0x55bbd35c in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0 #73 0x55bc07cb in g_main_context_check () from /opt/gnome/lib/libglib-2.0.so.0 #74 0x55bc0ce7 in g_main_context_iteration () from /opt/gnome/lib/libglib-2.0.so.0 #75 0x081fdae0 in nsCOMPtr<nsISupports>::nsCOMPtr () #76 0x0857d697 in nsCOMPtr<nsIEventQueue>::nsCOMPtr () #77 0x084d2411 in nsCOMTypeInfo<nsIProcess>::GetIID () #78 0x084d114b in nsCOMTypeInfo<nsIProcess>::GetIID () #79 0x084e4c5f in nsCOMPtr<nsIObserver>::nsCOMPtr () #80 0x084e4dff in nsCOMPtr<nsIObserver>::nsCOMPtr () #81 0x0842af58 in nsCOMPtr<nsIObjectInputStream>::nsCOMPtr () #82 0x082a25ab in nsCOMPtr<nsISupports>::nsCOMPtr () #83 0x55680149 in XPTC_InvokeByIndex () from /opt/MozillaFirefox/lib/libxpcom.so #84 0x080a02c6 in nsISimpleEnumerator::nsISimpleEnumerator () #85 0x080a26f3 in nsCOMPtr<nsISupports>::nsCOMPtr () #86 0x555a5f23 in js_Invoke () from /opt/MozillaFirefox/lib/libmozjs.so #87 0x555a2c56 in js_Interpret () from /opt/MozillaFirefox/lib/libmozjs.so #88 0x555a5f72 in js_Invoke () from /opt/MozillaFirefox/lib/libmozjs.so #89 0x5559c55d in js_InternalInvoke () from /opt/MozillaFirefox/lib/libmozjs.so #90 0x5557e5ad in JS_CallFunctionValue () from /opt/MozillaFirefox/lib/libmozjs.so #91 0x084742f5 in operator!=<nsISupports> () #92 0x08398633 in nsCOMPtr<nsIClassInfo>::operator-> () #93 0x082e65c3 in nsCOMPtr<nsISupportsArray>::nsCOMPtr () #94 0x082e6843 in nsCOMPtr<nsISupportsArray>::nsCOMPtr () #95 0x083b2a54 in nsCOMPtr<nsIClassInfo>::operator-> () #96 0x083b20ae in nsCOMPtr<nsIClassInfo>::operator-> () #97 0x08213c82 in nsCOMPtr<nsIBidirectionalEnumerator>::nsCOMPtr () #98 0x082781fc in nsCOMTypeInfo<nsISupportsPRInt32>::GetIID () #99 0x0827851f in nsCOMTypeInfo<nsISupportsPRInt32>::GetIID () #100 0x082173df in nsCOMPtr<nsIBidirectionalEnumerator>::nsCOMPtr () #101 0x08219eda in nsCOMPtr<nsIBidirectionalEnumerator>::nsCOMPtr () #102 0x0836e91c in nsCOMTypeInfo<nsICollection>::GetIID () #103 0x08370120 in nsCOMTypeInfo<nsICollection>::GetIID () #104 0x08369002 in nsCOMTypeInfo<nsICollection>::GetIID () #105 0x081fe29b in nsCOMPtr<nsISupports>::nsCOMPtr () #106 0x081f9be9 in nsCOMPtr<nsISupports>::nsCOMPtr () #107 0x081f9c11 in nsCOMPtr<nsISupports>::nsCOMPtr () #108 0x55857e60 in gtk_marshal_VOID__UINT_STRING () from /opt/gnome/lib/libgtk-x11-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #109 0x55b61d19 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #110 0x55b71816 in g_signal_stop_emission () from /opt/gnome/lib/libgobject-2.0.so.0 #111 0x55b72bee in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0 #112 0x55b731f5 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 #113 0x5594a3b4 in gtk_widget_activate () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #114 0x55856265 in gtk_propagate_event () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #115 0x558566ff in gtk_main_do_event () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #116 0x55a5cf8a in gdk_screen_get_setting () from /opt/gnome/lib/libgdk-x11-2.0.so.0 #117 0x55bbd35c in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0 #118 0x55bc07cb in g_main_context_check () from /opt/gnome/lib/libglib-2.0.so.0 #119 0x55bc0ae7 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0 #120 0x55855861 in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #121 0x081fdb1a in nsCOMPtr<nsISupports>::nsCOMPtr () #122 0x086f0180 in nsCOMTypeInfo<nsIBinaryInputStream>::GetIID () #123 0x080810db in ?? () #124 0x00000001 in ?? () #125 0xffffc0a4 in ?? () #126 0x086f88d0 in _IO_stdin_used () #127 0xffffc078 in ?? () #128 0x56137ea0 in __libc_start_main () from /lib/tls/libc.so.6 #129 0x56137ea0 in __libc_start_main () from /lib/tls/libc.so.6 #130 0x08081031 in ?? () (gdb) 以上です。