こんにちは、河野と申します。

人柱にならなかったのだからcurrentに投稿すべきなのでしょうが
すみません。
いわさきさんのパッチがcurrentにcommitされてからpanicするように
なってしまいました。NOPメッセージを送る部分をなくすとpanicしません。
環境はHP Proliant ML110G4にSmartArrayE200が入っています。
10月26日のCurrentでamd64です。
デバッガの出力を添付します。

kgdb /boot/kernel/kernel.symbols vmcore.1
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: 
Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd".

Unread portion of the kernel message buffer:
panic: Trying sleep, but thread marked as sleeping prohibited
cpuid = 0
KDB: enter: panic
Uptime: 11s
Physical memory: 4082 MB
Dumping 211 MB: 196 180 164 148 132 116 100 84 68 52 36 20 4

#0  doadump () at pcpu.h:194
194     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:194
#1  0xffffffff8045d787 in boot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:409
#2  0xffffffff8045dc0f in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#3  0xffffffff8048d100 in sleepq_add (wchan=0xffffffff80e2a268,
    lock=0xffffffff80e2f130, wmesg=0xffffffff80739d81 "cissREQ", flags=0,
    queue=0) at /usr/src/sys/kern/subr_sleepqueue.c:289
#4  0xffffffff80465553 in _sleep (ident=0xffffffff80e2a268,
    lock=0xffffffff80e2f130, priority=76, wmesg=0xffffffff80739d81 "cissREQ",
    timo=10000) at /usr/src/sys/kern/kern_synch.c:201
#5  0xffffffff8027ce77 in ciss_synch_request (cr=0xffffffff80e2a268,
    timeout=10000) at /usr/src/sys/dev/ciss/ciss.c:2066
#6  0xffffffff8027e8fb in ciss_periodic (arg=0xffffffff80e2a000)
    at /usr/src/sys/dev/ciss/ciss.c:3110
#7  0xffffffff8046e35e in softclock (dummy=Variable "dummy" is not available.
)
    at /usr/src/sys/kern/kern_timeout.c:274
#8  0xffffffff80444c83 in ithread_loop (arg=0xffffff00010e2b80)
    at /usr/src/sys/kern/kern_intr.c:1036
#9  0xffffffff804425ed in fork_exit (
    callout=0xffffffff80444ba9 <ithread_loop>, arg=0xffffff00010e2b80,
    frame=0xffffffffac266c80) at /usr/src/sys/kern/kern_fork.c:806
#10 0xffffffff806acb2e in fork_trampoline ()
    at /usr/src/sys/amd64/amd64/exception.S:397
#11 0x0000000000000000 in ?? ()
#12 0x0000000000000000 in ?? ()
#13 0x0000000000000001 in ?? ()
---Type <return> to continue, or q <return> to quit---
#14 0x0000000000000000 in ?? ()
#15 0x0000000000000000 in ?? ()
#16 0x0000000000000000 in ?? ()
#17 0x0000000000000000 in ?? ()
#18 0x0000000000000000 in ?? ()
#19 0x0000000000000000 in ?? ()
#20 0x0000000000000000 in ?? ()
#21 0x0000000000000000 in ?? ()
#22 0x0000000000000000 in ?? ()
#23 0x0000000000000000 in ?? ()
#24 0x0000000000000000 in ?? ()
#25 0x0000000000000000 in ?? ()
#26 0x0000000000000000 in ?? ()
#27 0x0000000000000000 in ?? ()
#28 0x0000000000000000 in ?? ()
#29 0x0000000000000000 in ?? ()
#30 0x0000000000000000 in ?? ()
#31 0x0000000000000000 in ?? ()
#32 0x0000000000000000 in ?? ()
#33 0x0000000000000000 in ?? ()
#34 0x0000000000000000 in ?? ()
#35 0x0000000000cf1000 in ?? ()
#36 0xffffffff809f91c0 in tdg_maxid ()
#37 0xffffffff80a059c0 in tdq_cpu ()
#38 0xffffff00010e8cf8 in ?? ()
#39 0xffffff00010e89f0 in ?? ()
---Type <return> to continue, or q <return> to quit---
#40 0xffffffffac266b70 in ?? ()
#41 0xffffffffac266b18 in ?? ()
#42 0x0000000000000000 in ?? ()
#43 0xffffffff8047a5ec in sched_switch (td=0xffffffff80444ba9, newtd=Cannot 
access memory at address 0xffffffffffffffb0
)
    at /usr/src/sys/kern/sched_ule.c:1902
Previous frame inner to this frame (corrupt stack?)

At Sat, 29 Sep 2007 18:02:53 +0900,
Mitsuru IWASAKI wrote:
> 
> いわさきと申します
> 
> ちょっと前にcissドライバの話が出たので便乗します。
> HP SmartArray 6i, 6400, E200などで、
>          ciss0: ADAPTER HEARTBEAT FAILED
> というコンソールメッセージが出力されフリーズする現象を
> たまに聞きますが、これを調べたいと思っています。
> ものが手元にないのが辛いところですが、情報をお持ちの方、
> パッチを試して頂ける方、協力をお願いします。
> 
> ちょっと調べたところ、共通の症状としてこんな感じです。
>  - pingに反応するのでカーネルは死んでいない模様
>  - ディスクI/Oを伴う処理は一切反応しない
>  - こうなったら今のところリブートするしかない
>  - ハードウェア交換で解決する場合もあるので、個体固有の問題かも
> 
> Linuxなどでこういう現象があるのかは知らないのですが、参考までに
> ccissドライバの実装と比較して見ています。
> 
> まず、手始めにHEARTBEATモニタリングのところを眺めてみたところ、
> FreeBSD側ではNOPメッセージの定期書き込みが無かったので、これを
> 追加してみました(RELENG_6用とCURRENT用のパッチ)。
> 
> http://people.freebsd.org/~iwasaki/ciss/ciss-nop-message-6.patch
> http://people.freebsd.org/~iwasaki/ciss/ciss-nop-message-7.patch
> 
> これが原因なのか不明なのですが、とりあえずこのパッチに悪い副作用
> が無いことを確認して頂ける、勇気ある人柱を募集します :-)
> 
> ではでは
> 

メールによる返信