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

OOSATO, Kazzrou kazz @ kk.iij4u.or.jp
2010年 6月 8日 (火) 20:43:57 JST


大里です。

On Tue, 8 Jun 2010 18:54:54 +0900
Hiroyuki Yamamoto <hiro-y @ kcn.ne.jp> wrote:

> ソースを見た限りでは、 %f, %F の両方ともサーバから fetch しているように
> 読めます(最終的に各メールに対して folder_item_fetch_msg() が呼ばれる)。
> 
> 落ちるというのが Sylpheed 本体であれば、それは仕様ではなくて単なるバグです。
> とりあえず以下のようにして、 backtrace を取得していただけますか。

お手数をお掛けします。
CentOS-5.4 ベースで、glibc-2.5-42、gtk2-2.10.4-20.el5、
kernel は素の(kernel.org のオリジナルで patch なし) 2.6.33.5
自家 make の WindowMaker-0.92.0-20 という環境です。
imap サーバは courier-imap-4.7.0-1 で同一ホスト上でやってみました。
(他ホストの imap サーバでも同様の結果になります)

13260(キャッシュあり)、13261(キャッシュなし) を選択し、
echo %F を実行
----
message 13260 has been already cached.
[20:23:16] IMAP4> 9 NOOP
imap_thread_run_proxy (0x8d70ec0): calling thread_func
[20:23:17] IMAP4< 9 OK NOOP completed
imap_thread_run_proxy (0x8d70ec0): thread_func done
getting message 13261...
[20:23:17] IMAP4> 10 UID FETCH 13261 BODY.PEEK[]
imap_thread_run_proxy (0x8d70ec0): calling thread_func
[20:23:17] IMAP4< * 13077 FETCH (UID 13261 BODY[] {4888}
[20:23:17] IMAP4< )
[20:23:17] IMAP4< 10 OK FETCH completed.
imap_thread_run_proxy (0x8d70ec0): thread_func done
Forking child and grandchild.
Executing: /bin/sh -c echo /home/kazz/.sylpheed-2.0/imapcache/mercury.lo.oosato.org/kazz/INBOX/13260 /home/kazz/.sylpheed-2.0/imapcache/mercury.lo.oosato.org/kazz/INBOX/13261
Creating action IO dialog
Child: Waiting for grandchild
Child: grandchild ended
Catching grand child's output.
Updating actions input/output dialog.
Catching grand child's output.
Child returned 0
Updating actions input/output dialog.
----
正常終了です。

次に、
13260(キャッシュあり)、13261(キャッシュあり) の状態で、
echo %f を実行
----
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
message 13261 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/13261
Child: Waiting for grandchild
Child: grandchild ended
Creating action IO dialog
Child: Waiting for grandchild
Child: grandchild ended
Catching grand child's output.
Updating actions input/output dialog.
Catching grand child's output.
Catching grand child's output.
Updating actions input/output dialog.
Catching grand child's output.
Child returned 0
Updating actions input/output dialog.
Child returned 0
Updating actions input/output dialog.
----
これも正常です。

そして、
13260(キャッシュあり)、13261(キャッシュなし) の状態で、
echo %f を実行
----
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
[20:25:39] IMAP4> 11 NOOP
imap_thread_run_proxy (0x8d64300): calling thread_func
Child: Waiting for grandchild
Child: grandchild ended
Catching grand child's output.
Freeing children data 0x87244c0
Catching grand child's output.
Freeing children data 0x87244c0
*** glibc detected *** sylpheed: double free or corruption (fasttop): 0x08d574c0 ***
======= Backtrace: =========
/lib/libc.so.6[0x43426595]
/lib/libc.so.6(cfree+0x59)[0x434269d9]
/lib/libglib-2.0.so.0(g_free+0x31)[0x4b16b481]
sylpheed[0x808b255]
sylpheed[0x808b669]
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[0x4baf16b0]
/usr/lib/libsylph-0.so.1[0x4baf4064]
/usr/lib/libsylph-0.so.1(folder_item_fetch_msg+0x34)[0x4bae4fe4]
/usr/lib/libsylph-0.so.1(procmsg_get_message_file+0x52)[0x4bb0b2c2]
sylpheed[0x808aa43]
sylpheed[0x808bdea]
sylpheed[0x808c21d]
sylpheed[0x808ce67]
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]
sylpheed[0x805eb1f]
/lib/libc.so.6(__libc_start_main+0xdc)[0x433d2e9c]
sylpheed[0x805ca91]
======= Memory map: ========
00650000-0066a000 r-xp 00000000 03:05 164531     /lib/ld-2.5.so
0066a000-0066b000 r--p 00019000 03:05 164531     /lib/ld-2.5.so
0066b000-0066c000 rw-p 0001a000 03:05 164531     /lib/ld-2.5.so
08045000-0814f000 r-xp 00000000 03:05 475775     /usr/bin/sylpheed
0814f000-08158000 rw-p 00109000 03:05 475775     /usr/bin/sylpheed
08158000-08dbd000 rw-p 00000000 00:00 0          [heap]
433bd000-434fc000 r-xp 00000000 03:05 164968     /lib/libc-2.5.so
434fc000-434fe000 r--p 0013f000 03:05 164968     /lib/libc-2.5.so
434fe000-434ff000 rw-p 00141000 03:05 164968     /lib/libc-2.5.so
434ff000-43502000 rw-p 00000000 00:00 0 
43504000-43517000 r-xp 00000000 03:05 164969     /lib/libpthread-2.5.so
43517000-43518000 r--p 00013000 03:05 164969     /lib/libpthread-2.5.so
43518000-43519000 rw-p 00014000 03:05 164969     /lib/libpthread-2.5.so
43519000-4351b000 rw-p 00000000 00:00 0 
4351d000-4351f000 r-xp 00000000 03:05 164970     /lib/libdl-2.5.so
4351f000-43520000 r--p 00001000 03:05 164970     /lib/libdl-2.5.so
43520000-43521000 rw-p 00002000 03:05 164970     /lib/libdl-2.5.so
43523000-43535000 r-xp 00000000 03:05 2399238    /usr/lib/libz.so.1.2.3
43535000-43536000 rw-p 00011000 03:05 2399238    /usr/lib/libz.so.1.2.3
43538000-4355d000 r-xp 00000000 03:05 164971     /lib/libm-2.5.so
4355d000-4355e000 r--p 00024000 03:05 164971     /lib/libm-2.5.so
4355e000-4355f000 rw-p 00025000 03:05 164971     /lib/libm-2.5.so
436ae000-436b6000 r-xp 00000000 03:05 2399244    /usr/lib/libXrender.so.1.3.0
436b6000-436b7000 rw-p 00007000 03:05 2399244    /usr/lib/libXrender.so.1.3.0
436be000-436c3000 r-xp 00000000 03:05 2399240    /usr/lib/libXdmcp.so.6.0.0
436c3000-436c4000 rw-p 00004000 03:05 2399240    /usr/lib/libXdmcp.so.6.0.0
436c6000-437c5000 r-xp 00000000 03:05 2399241    /usr/lib/libX11.so.6.2.0
437c5000-437c9000 rw-p 000ff000 03:05 2399241    /usr/lib/libX11.so.6.2.0
43820000-4382f000 r-xp 00000000 03:05 2399246    /usr/lib/libXext.so.6.4.0
4382f000-43830000 rw-p 0000e000 03:05 2399246    /usr/lib/libXext.so.6.4.0
438c6000-438c8000 r-xp 00000000 03:05 2399239    /usr/lib/libXau.so.6.0.0
438c8000-438c9000 rw-p 00001000 03:05 2399239    /usr/lib/libXau.so.6.0.0
4b012000-4b019000 r-xp 00000000 03:05 165065     /lib/librt-2.5.so
4b019000-4b01a000 r--p 00006000 03:05 165065     /lib/librt-2.5.so
4b01a000-4b01b000 rw-p 00007000 03:05 165065     /lib/librt-2.5.so
4b01d000-4b09a000 r-xp 00000000 03:05 2398835    /usr/lib/libfreetype.so.6.3.10
4b09a000-4b09d000 rw-p 0007d000 03:05 2398835    /usr/lib/libfreetype.so.6.3.10
4b09f000-4b0c6000 r-xp 00000000 03:05 2398870    /usr/lib/libfontconfig.so.1.1.0
4b0c6000-4b0ce000 rw-p 00027000 03:05 2398870    /usr/lib/libfontconfig.so.1.1.0
4b0d0000-4b0f5000 r-xp 00000000 03:05 2398871    /usr/lib/libpng12.so.0.10.0
4b0f5000-4b0f6000 rw-p 00024000 03:05 2398871    /usr/lib/libpng12.so.0.10.0
4b0f8000-4b117000 r-xp 00000000 03:05 165069     /lib/libexpat.so.0.5.0
4b117000-4b119000 rw-p 0001e000 03:05 165069     /lib/libexpat.so.0.5.0
4b11b000-4b11f000 r-xp 00000000 03:05 2399249    /usr/lib/libXfixes.so.3.1.0
4b11f000-4b120000 rw-p 00003000 03:05 2399249    /usr/lib/libXfixes.so.3.1.0
4b122000-4b124000 r-xp 00000000 03:05 2398877    /usr/lib/libXinerama.so.1.0.0
4b124000-4b125000 rw-p 00001000 03:05 2398877    /usr/lib/libXinerama.so.1.0.0
4b127000-4b12a000 r-xp 00000000 03:05 2399248    /usr/lib/libXrandr.so.2.0.0
4b12a000-4b12b000 rw-p 00002000 03:05 2399248    /usr/lib/libXrandr.so.2.0.0
4b12d000-4b136000 r-xp 00000000 03:05 2399250    /usr/lib/libXcursor.so.1.0.2
4b136000-4b137000 rw-p 00008000 03:05 2399250    /usr/lib/libXcursor.so.1.0.2
4b139000-4b1d6000 r-xp 00000000 03:05 165066     /lib/libglib-2.0.so.0.1200.3
4b1d6000-4b1d7000 rw-p 0009c000 03:05 165066     /lib/libglib-2.0.so.0.1200.3
4b1d9000-4b217000 r-xp 00000000 03:05 165068     /lib/libgobject-2.0.so.0.1200.3
4b217000-4b218000 rw-p 0003e000 03:05 165068     /lib/libgobject-2.0.so.0.1200.3
4b21a000-4b21c000 r-xp 00000000 03:05 165067     /lib/libgmodule-2.0.so.0.1200.3
4b21c000-4b21d000 rw-p 00002000 03:05 165067     /lib/libgmodule-2.0.so.0.1200.3
4b21f000-4b25a000 r-xp 00000000 03:05 165075     /lib/libsepol.so.1
4b25a000-4b25b000 rw-p 0003b000 03:05 165075     /lib/libsepol.so.1
4b25b000-4b265000 rw-p 00000000 00:00 0 
4b267000-4b27d000 r-xp 00000000 03:05 165076     /lib/libselinux.so.1
4b27d000-4b27f000 rw-p 00015000 03:05 165076     /lib/libselinux.so.1
4b281000-4b297000 r-xp 00000000 03:05 464819     /usr/lib/libgdk_pixbuf-2.0.so.0.1000.4アボートしました
----
アボートです。

-- 
; kazz
---( end of my signature )---


Sylpheed-jp メーリングリストの案内