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

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

On Tue, 8 Jun 2010 18:54:54 +0900
Hiroyuki Yamamoto <[email protected]> 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 )---
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.