[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:08706] Re: Problem in using ldconfig on hamm



岡@情報科学.高知大です。

自己フォローです:
近棟>  試しました.一応,Linux を普通にリブートすれば fsck のエラーは無くな
近棟> るみたいでした.ただ,/ を umount して e2fsck をかけるとかの作業をする
近棟> とエラーを吐きますね( init 以外のプロセスが mmap してるから).ささやま
近棟> さんの推測通りでした.
近棟>  古い libc5 な Slackware では,fuser /etc/ld.so.cache しても,何も出力
近棟> されません.こうなってるのが正常のような...。
岡> ということは、init に限らず普通のプログラムでも問題がある、
岡> つまりどのプログラムにも共通するということは、共有ライブラリ
岡> に問題があるのでは?
...
岡> libc6 と ld-linux が共通するライブラリです。ソースを当ってみ
岡> ましょうか?

整理を兼ねて、簡単に纏めると:

/ を umount する時に init は /etc/ld.so.cache をマップしてい
る。これが原因でfsckに引掛る。

この現象は手動で umount することで、init 以外のプログラムで
も引き起こすことができる-> init 固有の問題では無いらしい。

どのプログラムも /etc/ld.so.cache を map したままになってい
るのは、共有ライブラリに関係する可能性が高い(僕の意見として)。
これに関係するのは ld-linux.so.2(1.9.9もあるが使われていない)、
libc6 ではないか。



どちらも glibc のソースに含まれているので調べてみました(2.0.7t)。
結局バグレポートを当ってみたところ、

  http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl/full/759

があやしいです。slinkでの再現性が無いという点を考慮(slinkで
は現在2.0.7uになっている)するとわりと可能性は高いかもしれな
いです。ちなみに glibc のソースで言うとこれは:

  glibc-2.0.7t.orig/elf/dl-close.c

で、ELF 固有のバグらしいです。

これが確かなら、「slink の libc6 に移行することで解決」でよ
さそうです。
--
岡 充 (Mitsuru Oka)
高知大学情報科学科4回生
E-Mail:95i44@xxxxxxxxxxxxxxxx