libmap.conf2007年01月26日 11時38分33秒

7.0-CURRENT と 6.1-RELEASE のバイナリ間では pthread に問題が起きるようだ。

手がかりを探していたら、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 を取り換えても、メモリが肥大して死んでしまうのは同じだった。

前回次回

コメント

コメントをどうぞ

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

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

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

トラックバック

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

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

_ 再び、 失業SEの開発日誌 - 2012年04月17日 19時19分10秒

FreeBSD関連 忘備録。 FreeBSDの chrome を ports からコンパイルしなおしたら 見慣れないエラーが出た。 /libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.15 required by /usr/local/bin/chrome not found 依存関係で GCC-4.6 を必要としていた…