libmap.conf ― 2007年01月26日 11時38分33秒
手がかりを探していたら、libmap.conf に出会った。/etc/libmap.conf だ。何度か、見たことがあったが、真剣に調べたことは無かった。
libmap.conf を用いて、動的リンクの先を変更できる。実際にやってみる。
libpthread.so.2 libthr.so.2
libpthread.so libthr.so
を追加した、これで、libpthread.so の代りに libthread.so が使われるようになる。
これを保存した後、sylpheed をデバッガから起動して前回と同じことをする。
#16 0x88ad3f5e in pthread_join () from /usr/lib/libthr.so.2
#17 0x88ad0e5a in pthread_self () from /usr/lib/libthr.so.2
#18 0x88ad14a0 in pthread_rwlock_unlock () from /usr/lib/libthr.so.2
#19 0x88ad3f5e in pthread_join () from /usr/lib/libthr.so.2
#20 0x88ad0e5a in pthread_self () from /usr/lib/libthr.so.2
#21 0x88ad14a0 in pthread_rwlock_unlock () from /usr/lib/libthr.so.2
と出てきた。
参考の為、前回の backtrace も載せる。
#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
/lib/libXXX が入れ替わっている。読むと難しそうだが、設定するだけなら随分簡単だった。
本来の目的を忘れるところだった。残念ながら、libpthread を取り換えても、メモリが肥大して死んでしまうのは同じだった。
最近のコメント