7.0-CURRENT でのメモリ肥大の原因2007年01月25日 11時52分38秒

とりあえず、CURRENT でも普段使うアプリケーションの半分ぐらいは動くようだ。少しずつ CURRENT を使う時間を伸ばしていくのが当初の目標だろう。

問題のある、sylpheed をデバッグしてみた。まだ完全に環境が整っていないので root で作業する事も多い。


$ gdb `which sylpheed`
(gdb) run
Starting program: /usr/X11R6/bin/sylpheed


(gdb) backtrace
#1555 0x88ae12b2 in pthread_join () from /lib/libpthread.so.2
#1556 0x88ad574a in pthread_self () from /lib/libpthread.so.2
#1557 0x88ad5dfc in pthread_rwlock_unlock () from /lib/libpthread.so.2
#1558 0x88ae12b2 in pthread_join () from /lib/libpthread.so.2
#1559 0x88ad574a in pthread_self () from /lib/libpthread.so.2
#1560 0x88ad5dfc in pthread_rwlock_unlock () from /lib/libpthread.so.2
#1561 0x88ae12b2 in pthread_join () from /lib/libpthread.so.2
#1562 0x88ad574a in pthread_self () from /lib/libpthread.so.2
#1563 0x88ad5dfc in pthread_rwlock_unlock () from /lib/libpthread.so.2

どうも、pthread 関連で 6.1-RELEASE と 7.0-CURRENT とで何らかの不整合を起こしているようだ。

一度、6.1-RELEASE に切替えて同じことを試した。


% gdb `which sylpheed`
(gdb) run



[New Thread 0x814c200 (LWP 100144)]

Program received signal SIGINT, Interrupt.
[Switching to Thread 0x814c200 (LWP 100144)]
0x88adb52b in pthread_testcancel () from /usr/lib/libpthread.so.2

(gdb) bt
#0  0x88adb52b in pthread_testcancel () from /usr/lib/libpthread.so.2
#1  0x88ac8b75 in sigaction () from /usr/lib/libpthread.so.2
#2  0x88ac8e61 in sigaction () from /usr/lib/libpthread.so.2
#3  0x88ac9640 in sigaction () from /usr/lib/libpthread.so.2
#4  0x88ac97ec in sigaction () from /usr/lib/libpthread.so.2
#5  0x88ad3e3c in pthread_mutexattr_init () from /usr/lib/libpthread.so.2
#6  0x88627450 in ?? ()

との事だ。6.1 では current-7 の様に無限にメモリを悔い尽くして、以上終了することもない。

原因は gconf2 ではなく、pthread だったようだ。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2007/01/25/1136848/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。