Masahito Omote
omote****@t-bas*****
2004年 5月 15日 (土) 07:31:06 JST
おもてです。 On Thu, 13 May 2004 17:26:28 +0900 YamaKen <yamak****@bp*****> wrote: > なお、このパッチには現在以下の不具合が確認されています。 > > ・cannaserverの指定でSEGVする > 1. "Use remote cannaserver"をチェック > 2. サーバ名に"hoge"等と入力 > 3. "Use remote cannaserver"のチェックを外す("hoge"は残ったまま) > 4. Applyすると不特定の箇所でSEGVが発生する。ただしこの一連の手 > 順を踏むとSEGVが発生する事だけは再現性がある 私の環境でも再現しました。backtraceを付けておきましたが、何故uim_quit_canna が4回もcallされているのかいまいち理解できていません。 さらにこの件の検証の過程でcb_uim_specify_check_button_clickedにおいて、 "Use remote cannaserver"のcheckをトグルすると、最初の条件文が評価されて しまうことがわかったので、もう少し検証してから改めて報告します。 # 何故正しく連動されるのかがよくわからない * 環境 Debian GNU/Linux unstable + kernel 2.6.6 GTK+ 2.2.4 gcc 3.3.3 uim revision: 840 * backtrace (gdb) bt #0 0x414c1cc2 in ?? () #1 0x40aa4c3a in uim_quit_canna () from /usr/lib/libuim.so.0 #2 0x40aa552a in uim_quit_canna () from /usr/lib/libuim.so.0 #3 0x40aa65e8 in uim_quit_canna () from /usr/lib/libuim.so.0 #4 0x40aa5752 in uim_quit_canna () from /usr/lib/libuim.so.0 #5 0x40aa97cc in uim_quit_canna () from /usr/lib/libuim.so.0 #6 0x40a9f93c in uim_scm_eval () from /usr/lib/libuim.so.0 #7 0x40aa0383 in uim_custom_definition_as_string () from /usr/lib/libuim.so.0 #8 0x0805bf5b in write_uim_config (config=0xbfffec20) at uimconfig.c:387 #9 0x080571cf in cb_uim_config_pane_save_button_clicked (button=0x824a6f8, container=0x414c1cb8) at uimcontainer.c:677 #10 0x412a2212 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 ..... * uim_custom_definition_as_stringのどこで落ちているのかを検証 [Thread debugging using libthread_db enabled] [New Thread 1078437312 (LWP 11775)] custom_def: (define candidate-window-position "left") custom_def: (define switch-im-key? ) custom_def: (define enable-im-switch #t) (snip) custom_def: (define spellcheck-always-show-window? #t) custom_def: (define spellcheck-preedit-immediate-commit? #f) custom_def: (define spellcheck-candidate-op-count 1) Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 1078437312 (LWP 11775)] 0x414c1cc2 in ?? () * strace % strace ./gtk2/sumika (snip) write(1, "custom_def: (define prime-nr-can"..., 47custom_def: (define prime-nr-candidate-max 10) ) = 47 write(1, "custom_def: (define generic-nr-c"..., 49custom_def: (define generic-nr-candidate-max 10) ) = 49 write(1, "custom_def: (define generic-cand"..., 50custom_def: (define generic-candidate-op-count 1) ) = 50 write(1, "custom_def: (define generic-use-"..., 54custom_def: (define generic-use-candidate-window? #t) ) = 54 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ -- Masahito Omote(omote****@utyuu*****, omote****@sapme*****, omote****@debia*****)