[sylpheed-jp:10967] Re: [Q] Actionの引数 %f( ファイル名) %F(ファイルリスト) の挙動の違いについて

"OOSATO, Kazzrou" <[email protected]>
Newsgroups gmane.mail.sylpheed.general.japanese
Message-ID <[email protected]>
大里です。

On Tue, 8 Jun 2010 20:43:57 +0900
"OOSATO, Kazzrou" <[email protected]> wrote:

さっきのは、sylpheed --debug で見たので、gdb を使った方を載せます。
kernel も昨夜コンパイルしたばかりで実績のないものだったので、念のため
CentOS 標準ので起動しなおしました。

不思議なことに gdb 上では、ちょっと挙動が変わってしまいました。
先ほどは、fetch が完了する前に落ちたのですが、今度は fetch してから落ち
ました。ファイルは出来ています。
%F の場合は 1 プロセスだけど、%f だとファイルの数だけ fork (ですよね、
thread じゃなくて)されてるわけで、それがどこかで影響してるか?
う〜む、なんだか分かりません。


message 13260 has been already cached.
Forking child and grandchild.
Executing: /bin/sh -c echo /home/kazz/.sylpheed-2.0/imapcache/mercury.lo.oosato.org/kazz/INBOX/13260
Detaching after fork from child process 3565.
Child: Waiting for grandchild
Child: grandchild ended
getting message 13261...
[22:20:21] IMAP4> 16 UID FETCH 13261 BODY.PEEK[]
[New Thread 0xb6afab90 (LWP 3567)]
Catching grand child's output.
Freeing children data 0x9dbd508
Catching grand child's output.
Freeing children data 0x9dbd508
*** glibc detected *** /usr/bin/sylpheed: double free or corruption (fasttop): 0x09e821c8 ***
imap_thread_run_proxy (0x9db99c8): calling thread_func
[22:20:21] IMAP4< * 13077 FETCH (UID 13261 BODY[] {4888}
[22:20:21] IMAP4< )
[22:20:21] IMAP4< 16 OK FETCH completed.
imap_thread_run_proxy (0x9db99c8): thread_func done
======= Backtrace: =========
/lib/libc.so.6[0x43426595]
/lib/libc.so.6(cfree+0x59)[0x434269d9]
/lib/libglib-2.0.so.0(g_free+0x31)[0x4b16b481]
/usr/bin/sylpheed[0x808b255]
/usr/bin/sylpheed[0x808b669]
/usr/bin/sylpheed[0x808b9ea]
/usr/lib/libgdk-x11-2.0.so.0[0x4b72ee4e]
/lib/libglib-2.0.so.0[0x4b18d8dd]
/lib/libglib-2.0.so.0(g_main_context_dispatch+0x182)[0x4b1641a2]
/lib/libglib-2.0.so.0[0x4b167196]
/lib/libglib-2.0.so.0(g_main_context_iteration+0x6e)[0x4b1676ee]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_iteration+0x34)[0x4b4a89f4]
/usr/lib/libsylph-0.so.1(event_loop_iterate+0x1e)[0x4bb18b5e]
/usr/lib/libsylph-0.so.1[0x4baea6bc]
/usr/lib/libsylph-0.so.1[0x4baf41a0]
/usr/lib/libsylph-0.so.1(folder_item_fetch_msg+0x34)[0x4bae4fe4]
/usr/lib/libsylph-0.so.1(procmsg_get_message_file+0x52)[0x4bb0b2c2]
/usr/bin/sylpheed[0x808aa43]
/usr/bin/sylpheed[0x808bdea]
/usr/bin/sylpheed[0x808c21d]
/usr/bin/sylpheed[0x808ce67]
/usr/bin/sylpheed[0x808cf54]
/usr/lib/libgtk-x11-2.0.so.0[0x4b4910f8]
/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x49)[0x4b1ef169]
/lib/libgobject-2.0.so.0(g_closure_invoke+0x128)[0x4b1e1e98]
/lib/libgobject-2.0.so.0[0x4b1f2dab]
/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x8c7)[0x4b1f42e7]
/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0x4b1f44a9]
/usr/lib/libgtk-x11-2.0.so.0(gtk_widget_activate+0x94)[0x4b5c6984]
/usr/lib/libgtk-x11-2.0.so.0(gtk_menu_shell_activate_item+0x118)[0x4b4bad08]
/usr/lib/libgtk-x11-2.0.so.0[0x4b4bc2d2]
/usr/lib/libgtk-x11-2.0.so.0[0x4b4b3ea5]
/usr/lib/libgtk-x11-2.0.so.0[0x4b4ae060]
/lib/libgobject-2.0.so.0[0x4b1e0639]
/lib/libgobject-2.0.so.0(g_closure_invoke+0x128)[0x4b1e1e98]
/lib/libgobject-2.0.so.0[0x4b1f33f5]
/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x68f)[0x4b1f40af]
/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0x4b1f44a9]
/usr/lib/libgtk-x11-2.0.so.0[0x4b5c25d8]
/usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0x183)[0x4b4a7503]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x317)[0x4b4a8707]
/usr/lib/libgdk-x11-2.0.so.0[0x4b75927a]
/lib/libglib-2.0.so.0(g_main_context_dispatch+0x182)[0x4b1641a2]
/lib/libglib-2.0.so.0[0x4b167196]
/lib/libglib-2.0.so.0(g_main_loop_run+0x1b7)[0x4b167557]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb4)[0x4b4a8b84]
/usr/bin/sylpheed[0x805eb1f]
/lib/libc.so.6(__libc_start_main+0xdc)[0x433d2e9c]
/usr/bin/sylpheed[0x805ca91]
======= Memory map: ========
00456000-00457000 r-xp 00000000 03:05 552849     /usr/lib/gconv/ISO8859-1.so
00457000-00459000 rwxp 00000000 03:05 552849     /usr/lib/gconv/ISO8859-1.so
004e9000-004ed000 r-xp 00000000 03:05 552899     /usr/lib/gconv/UTF-7.so
004ed000-004ef000 rwxp 00003000 03:05 552899     /usr/lib/gconv/UTF-7.so
00622000-00639000 r-xp 00000000 03:05 552686     /usr/lib/gconv/CP932.so
00639000-0063b000 rwxp 00016000 03:05 552686     /usr/lib/gconv/CP932.so
0064a000-0064c000 r-xp 00000000 03:05 620445     /usr/lib/pango/1.5.0/modules/pango-basic-fc.so
0064c000-0064d000 rwxp 00001000 03:05 620445     /usr/lib/pango/1.5.0/modules/pango-basic-fc.so
00650000-0066a000 r-xp 00000000 03:05 164531     /lib/ld-2.5.so
0066a000-0066b000 r-xp 00019000 03:05 164531     /lib/ld-2.5.so
0066b000-0066c000 rwxp 0001a000 03:05 164531     /lib/ld-2.5.so
007a3000-007ac000 r-xp 00000000 03:05 162120     /lib/libnss_files-2.5.so
007ac000-007ad000 r-xp 00008000 03:05 162120     /lib/libnss_files-2.5.so
007ad000-007ae000 rwxp 00009000 03:05 162120     /lib/libnss_files-2.5.so
007b7000-007c8000 r-xp 00000000 03:05 722380     /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
007c8000-007c900
Program received signal SIGABRT, Aborted.
0x00e86402 in __kernel_vsyscall ()
(gdb) bt
#0  0x00e86402 in __kernel_vsyscall ()
#1  0x433e5df0 in raise () from /lib/libc.so.6
#2  0x433e7701 in abort () from /lib/libc.so.6
#3  0x4341e28b in __libc_message () from /lib/libc.so.6
#4  0x43426595 in _int_free () from /lib/libc.so.6
#5  0x434269d9 in free () from /lib/libc.so.6
#6  0x4b16b481 in g_free () from /lib/libglib-2.0.so.0
#7  0x0808b255 in free_children (children=0x9dbd508) at action.c:981
#8  0x0808b669 in wait_for_children (children=0x434ff140) at action.c:903
#9  0x0808b9ea in catch_output (data=0x9d636a0, source=20, cond=GDK_INPUT_READ) at action.c:1304
#10 0x4b72ee4e in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#11 0x4b18d8dd in ?? () from /lib/libglib-2.0.so.0
#12 0x4b1641a2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#13 0x4b167196 in ?? () from /lib/libglib-2.0.so.0
#14 0x4b1676ee in g_main_context_iteration () from /lib/libglib-2.0.so.0
#15 0x4b4a89f4 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x4bb18b5e in event_loop_iterate () at utils.c:4349
#17 0x4baea6bc in imap_thread_run (session=<value optimized out>, func=<value optimized out>, 
    data=<value optimized out>) at imap.c:4998
#18 0x4baf41a0 in imap_fetch_msg (folder=<value optimized out>, item=<value optimized out>, uid=<value optimized out>)
    at imap.c:4158
#19 0x4bae4fe4 in folder_item_fetch_msg (item=<value optimized out>, num=Could not find the frame base for "folder_item_fetch_msg".
) at folder.c:1068
#20 0x4bb0b2c2 in procmsg_get_message_file (msginfo=<value optimized out>) at procmsg.c:1331
#21 0x0808aa43 in parse_append_filename (cmd=0x9cb30a0, msginfo=0x6) at action.c:328
#22 0x0808bdea in parse_action_cmd (action=<value optimized out>, msginfo=0x92b71c0, msg_list=0x94a5058, 
    partinfo=0x11, user_str=0x0, user_hidden_str=0x0, sel_str=0x0) at action.c:257
#23 0x0808c21d in execute_actions (action=0x8a4fde8 "echo %f", msg_list=0x94a5058, text=0x8d5b818, body_pos=421, 
    partinfo=0x0) at action.c:638
#24 0x0808ce67 in message_actions_execute (msgview=0x8d559a8, action_nb=<value optimized out>, msg_list=0x94a5058)
    at action.c:528
#25 0x0808cf54 in mainwin_actions_execute_cb (mainwin=0x8a71e18, action_nb=7, widget=0x8d78198) at action.c:486
#26 0x4b4910f8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#27 0x4b1ef169 in g_cclosure_marshal_VOID__VOID () from /lib/libgobject-2.0.so.0
#28 0x4b1e1e98 in g_closure_invoke () from /lib/libgobject-2.0.so.0
#29 0x4b1f2dab in ?? () from /lib/libgobject-2.0.so.0
#30 0x4b1f42e7 in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
#31 0x4b1f44a9 in g_signal_emit () from /lib/libgobject-2.0.so.0
#32 0x4b5c6984 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#33 0x4b4bad08 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
#34 0x4b4bc2d2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#35 0x4b4b3ea5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#36 0x4b4ae060 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x4b1e0639 in ?? () from /lib/libgobject-2.0.so.0
#38 0x4b1e1e98 in g_closure_invoke () from /lib/libgobject-2.0.so.0
#39 0x4b1f33f5 in ?? () from /lib/libgobject-2.0.so.0
#40 0x4b1f40af in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
#41 0x4b1f44a9 in g_signal_emit () from /lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#42 0x4b5c25d8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#43 0x4b4a7503 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#44 0x4b4a8707 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#45 0x4b75927a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#46 0x4b1641a2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#47 0x4b167196 in ?? () from /lib/libglib-2.0.so.0
#48 0x4b167557 in g_main_loop_run () from /lib/libglib-2.0.so.0
#49 0x4b4a8b84 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#50 0x0805eb1f in main (argc=Cannot access memory at address 0x6
) at main.c:367
(gdb) quit


-- 
; kazz
---( end of my signature )---
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.