Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000551Vine Linux1 バグ公開2007-10-24 20:052007-12-04 03:01
anonymous 
daisuke 
不明 
完了不明 
VineSeed 
 
x86
kernel, initrd
0000551: initrd内にてsegfault
Seedで出たばかりの2.6.23-0vl0.2 で起動不良が発生します。

環境:Xeon 5130 + 5000X + ESB + megaraid_sas
initrd内で、デバイスドライバを組み込んだ直後に
init[1]: segfault at 00000000 eip 0804b7db esp bfc28940 error 4
という表示がされ、1秒間隔位で延々と同じ表示が繰り返されます。
(起動できません)

試した方法:
・別のPCでの起動
 Core2DUO E6700 + 945G + ICH7 + SATA では、何の問題も無く起動します。

・2.6.23-0vl0.4.src.rpm を、
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_MEGARAID_SAS=y
 でrebuildしなおすと、正常に起動します。
 マイナーバージョンが多少違いますが、全てモジュールだとやはり起動に失敗します。

・initrdを展開して、nashをinitrd-2.6.16-vl60.imgで使用していた物に入れ替えても
 起動に失敗します。
 kernel-2.6.16-0vl60(vmlinuz-2.6.16-0vl60)とinitrd-2.6.16-0vl60.imgの組み合わせでは
 正常に起動します。

・initrdを展開して、sleepを埋め込む
 モジュール組み込みが終わった後、mkdevicesの前に"sleep 1"を埋め込むと正常に起動します。
 > echo "Loading megaraid_sas.ko module"
 > insmod /lib/megaraid_sas.ko
 > sleep 1   ←ココ
 > echo Creating block devices
 > mkdevices /dev

その他
・4コア・8コアでどうなるかは未確認です。
 (CPUコア数だけsleepが必要になるのかどうかは不明です)
・原理的には「http://gotom.jp/~gotom/diary/?200602 [^]」で指摘されている問題と
 同類かと思われます。


#余談ですが、最近BCM5708が増えてきたので、"CONFIG_BNX2=m"にしておいて頂けると助かります
設定されていません。
課題の履歴
2007-10-24 20:05anonymous新規課題
2007-10-25 17:47anonymousコメント追加: 0002662
2007-10-26 17:42anonymousコメント追加: 0002663
2007-10-26 18:43daisukeコメント追加: 0002664
2007-10-27 00:36daisuke担当者 => daisuke
2007-10-27 00:36daisuke状態新規 => テスト待ち
2007-10-27 00:36daisukeコメント追加: 0002665
2007-10-28 01:48anonymousコメント追加: 0002666
2007-10-29 12:40anonymousコメント追加: 0002667
2007-10-29 14:52daisukeコメント追加: 0002668
2007-10-29 17:52anonymousコメント追加: 0002669
2007-10-31 17:54anonymousコメント追加: 0002670
2007-10-31 19:19daisukeコメント追加: 0002671
2007-11-03 01:03anonymousコメント追加: 0002672
2007-12-04 03:01daisuke状態テスト待ち => 完了
2007-12-04 03:01daisukeコメント追加: 0002673

コメント
(0002662)
anonymous   
2007-10-25 17:47   
かわむらです。

2.6.23-0vl0.2のとき、
VMware Server 上でも同様のメッセージが出て起動できませんでした。
バージョン 1.0.4 build 56528 です。

2.6.23-0vl0.4にアップグレードしたところ、
エラーメッセージは変わらずで、やはり起動できていません。


> Seedで出たばかりの2.6.23-0vl0.2 で起動不良が発生します。
>
> 環境:Xeon 5130 + 5000X + ESB + megaraid_sas
> initrd内で、デバイスドライバを組み込んだ直後に
> init[1]: segfault at 00000000 eip 0804b7db esp bfc28940 error 4
> という表示がされ、1秒間隔位で延々と同じ表示が繰り返されます。
> (起動できません)
(0002663)
anonymous   
2007-10-26 17:42   
かわむらです。

このバグフィックスのためでしょうか? mkinitrd-4.2.1.10-0vl1がでていますが、
シェルスクリプトにperlの書式が混入しているようです。

701行目と705行目に =~ が入っていますが、bashでは使えないですよね?


 
> 2.6.23-0vl0.2のとき、
> VMware Server 上でも同様のメッセージが出て起動できませんでした。
> バージョン 1.0.4 build 56528 です。
>
> 2.6.23-0vl0.4にアップグレードしたところ、
> エラーメッセージは変わらずで、やはり起動できていません。
>
>
> > Seedで出たばかりの2.6.23-0vl0.2 で起動不良が発生します。
> >
> > 環境:Xeon 5130 + 5000X + ESB + megaraid_sas
> > initrd内で、デバイスドライバを組み込んだ直後に
> > init[1]: segfault at 00000000 eip 0804b7db esp bfc28940 error 4
> > という表示がされ、1秒間隔位で延々と同じ表示が繰り返されます。
> > (起動できません)
(0002664)
daisuke   
2007-10-26 18:43   
> このバグフィックスのためでしょうか? mkinitrd-4.2.1.10-0vl1がでています
> が、

まだ改造途中ですが、途中経過として upload してあります。

> シェルスクリプトにperlの書式が混入しているようです。
>
> 701行目と705行目に =~ が入っていますが、bashでは使えないですよね?

この部分は mkinitrd-4.2.1.10 の upstream での変更で、perl の
書式が混入しているのではなく、bash-3.0 の機能がつかわれている
ためです。とりあえず修正を行う予定ですが、近いうちに bash も
3.2 へ移行するつもりです。
(0002665)
daisuke   
2007-10-27 00:36   
> > このバグフィックスのためでしょうか? mkinitrd-4.2.1.10-0vl1がでています
> > が、

bash3問題を修正したmkinitrd-4.2.1.10-0vl2 を upload しました。
いちおう usb/ieee1394/scsi をまつように変更してあります。
手元の環境では問題がおこるケースがありませんが、該当する環境を
おもちの方にお試しいただければとおもいます。
(0002666)
anonymous   
2007-10-28 01:48   
VMware-serverでも症状が出ると聞いたのでやってみました。

VM上にVine4インストール→aptline書き換え→dist-upgrade→再起動→症状発生

となりました。
mkinitrd-4.2.1.10-0vl2です。

念の為、apt-get reinstall mkinitrd の後に
mkinitrd initrd-2.6.23-0vl0.4.img.new 2.6.23-0vl0.4
として、initrdを作り直してみたりもしましたが、改善はしませんでした。

mkinitrdの変更点を確認していないのですが、
initの中にsleep挟む対策になっているのでしょうか?
initの中も見てみましたが、特に何か対策されているような痕跡は見当たりませんでした。
(0002667)
anonymous   
2007-10-29 12:40   
かわむらです。

VMware-server上で、mkinitdの不具合の件です。
bash-3.2とmkinitrd-4.2.1.10-0vl3 にアップデートしたところ、
mkinitrd で若干の問題がありましたが、一応、できました。
再起動して、kernel-2.6.23-0vl0.4が正常に起動できました。

mkinitrdの若干の問題は、
・mkinitrd initrd-2.6.23-0vl0.4.img 2.6.23-0vl0.4 を実行すると、空行がいくつか出力されます。
・/usr/bin/stripが使われているので、binutilsが必要です。
 4.1を最小構成でインストールして、VineSeed化したとき、binutilsが入っていなかったようです。
 パッケージに requireが必要かもしれません。
  パッケージを入れれば、mkinitrdは通ります。

ありがとうございました。
(0002668)
daisuke   
2007-10-29 14:52   
> VMware-server上で、mkinitdの不具合の件です。
> bash-3.2とmkinitrd-4.2.1.10-0vl3 にアップデートしたところ、
> mkinitrd で若干の問題がありましたが、一応、できました。
> 再起動して、kernel-2.6.23-0vl0.4が正常に起動できました。
>
> mkinitrdの若干の問題は、
> ・mkinitrd initrd-2.6.23-0vl0.4.img 2.6.23-0vl0.4 を実行すると、空行がい
> くつか出力されます。
> ・/usr/bin/stripが使われているので、binutilsが必要です。
>  4.1を最小構成でインストールして、VineSeed化したとき、binutilsが入ってい
> なかったようです。
>  パッケージに requireが必要かもしれません。
> パッケージを入れれば、mkinitrdは通ります。

4.2.1.10-0vl4 で 上記問題を修正しました。
verbose じゃないときにでていた空行はでないようにしてあります。
また、strip がないときは、単純に cp するようにしました。

scsi/raid コントローラ関係で確実にブートできるか他の問題のあった
方にも試してもらえると助かります。

とりあえずまだ「確認待ち」のままにしておきます。
(0002669)
anonymous   
2007-10-29 17:52   
元投稿者です

・Xeon 5130 + 5000X + ESB + megaraid_sas
・VMware-server(lsilogic mptscsi)
共に起動を確認しました。

apt-treeの更新反映タイミングの都合で、
「mkinitrd-4.2.1.10-0vl2」
で確認しています。

で、起動するのですが、起動時にエラーが出ます。

initスクリプト内でrmmodが使われているにもかかわらず、
initrd内にrmmodの実行ファイルが存在しません。

現行のmodutilsの中に、static-linkedなrmmodが含まれていないので、
modutilsの更新の必要もあるかと思われます。

mkinitrd-4.2.1.10-0vl2を使用して起動した際のログです。
> Creating root device
> Mounting root filesystem
> kjournald starting. Commit interval 5 seconds
> EXT3-fs: mounted filesystem with ordered data mode.
> Switching to new root
> Usage: init 0123456SsQqAaBbCcUu
> ERROR: rmmod exited abnormally! (pid 559)
> Creating block devices
> Creating root device
> mkrootdev: mknod failed: 17
> echo: cannot open /sys/power/tuxonice/do_resume for write: 2
> umount /sys failed: 22
> Mounting root filesystem
> Switching to new root
> INIT: version 2.85 booting
(0002670)
anonymous   
2007-10-31 17:54   
元投稿者です

気付いているとは思うんですが、あまりにもアレなので、一応報告しておきます。
mkinitrd-4.2.1.10-0vl2 で作成したinitrdでは起動しますが、
mkinitrd-4.2.1.10-0vl5 で作成したinitrdでは起動しません。

以下は、mkinitrd-4.2.1.10-0vl5 で作成した initrd-2.6.23-0vl0.6.img を展開したものです。

# zcat initrd-2.6.23-0vl0.6.img | cpio -v -t
drwx------ 10 root root 0 Oct 31 17:15 .
drwxr-xr-x 2 root root 0 Oct 31 17:15 dev
crw-r--r-- 1 root root 4, 3 Oct 31 17:15 dev/tty3
crw-r--r-- 1 root root 5, 1 Oct 31 17:15 dev/console
crw-r--r-- 1 root root 4, 4 Oct 31 17:15 dev/tty4
crw-r--r-- 1 root root 4, 0 Oct 31 17:15 dev/systty
crw-r--r-- 1 root root 4, 1 Oct 31 17:15 dev/tty1
crw-r--r-- 1 root root 4, 2 Oct 31 17:15 dev/tty2
brw-r--r-- 1 root root 1, 1 Oct 31 17:15 dev/ram
crw-r--r-- 1 root root 1, 3 Oct 31 17:15 dev/null
drwxr-xr-x 2 root root 0 Oct 31 17:15 proc
drwxr-xr-x 2 root root 0 Oct 31 17:15 sysroot
-rwxr-xr-x 1 root root 722 Oct 31 17:15 init
lrwxrwxrwx 1 root root 3 Oct 31 17:15 sbin -> bin
drwxr-xr-x 2 root root 0 Oct 31 17:15 sys
drwxr-xr-x 2 root root 0 Oct 31 17:15 lib
-rw-r--r-- 1 root root 33096 Oct 31 17:15 lib/megaraid_sas.ko
-rw-r--r-- 1 root root 38808 Oct 31 17:15 lib/sd_mod.ko
-rw-r--r-- 1 root root 176116 Oct 31 17:15 lib/scsi_mod.ko
drwxr-xr-x 2 root root 0 Oct 31 17:15 bin
lrwxrwxrwx 1 root root 6 Oct 31 17:15 bin/rmmod -> insmod
-rwxr-xr-x 1 root root 198957 Oct 31 17:15 bin/insmod
lrwxrwxrwx 1 root root 10 Oct 31 17:15 bin/modprobe -> /sbin/nash
-rwxr-xr-x 1 root root 42880 Oct 31 17:15 bin/nash
drwxr-xr-x 2 root root 0 Oct 31 17:15 loopfs
drwxr-xr-x 2 root root 0 Oct 31 17:15 etc
965 blocks

問題点は三点
・シンボリックリンクがぐちゃぐちゃ
・scsi_wait_scan.ko がコピーされなくなった
・rmmodがコピーされていない
です。
(0002671)
daisuke   
2007-10-31 19:19   
> 問題点は三点
> ・シンボリックリンクがぐちゃぐちゃ
> ・scsi_wait_scan.ko がコピーされなくなった
> ・rmmodがコピーされていない
> です。

2点目の scsi_wait_scan.ko がコピーされていないのは
0vl6 で修正しました。コピー対象のモジュールが間違っ
ていました。

1、3点目のシンボリックリンクと rmmod がコピーされて
いないのはこれで正しいのでなにも変更ありません。

新しい insmod.static には rmmod が統合されています。
呼び出された名前で insmod/rmmod の動作が変わります。
# static じゃない insmod と同様で、modutils 内でも
# もちろん同様です。
(0002672)
anonymous   
2007-11-03 01:03   
元投稿者です。

Xeon 5130 + meragaid_sas
VMware-server (mptscsi)
共にmkinitrd-4.2.1.10-0vl6で起動を確認しました。

rmmodもOKです。


closeの判断はお任せします。


# CONFIG_BNX2 ありがとうございました
(0002673)
daisuke   
2007-12-04 03:01   
問題なさそうなので close しておきます