Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Linux
ホスト環境: CentOS 5.5 (x86_64) / 2.6.18-194.17.1.el5
ゲスト環境: RHEL 6.0 Beta 2 Refresh (x86_64) / 2.6.32-44.2.el6.x86_64

ホスト側から virsh shutdown またはゲスト側から shutdown コマンドを発行して上記の RHEL6 ゲストをシャットダウンした場合、OS シャットダウンの処理自体は正常に完了するものの、以下のエラーメッセージが数十秒おきに表示され...
kernel: unregister_netdevice: waiting for vnet1 to become free. Usage count = 1
結果として、sshd などのプロセスが uninterruptible になってしまう。
INFO: task sshd:32249 blocked for more than 120 seconds.
Windows ゲストとか CentOS 5.x ゲストだと大丈夫なんだけど、何でしょうね。RHEL6 の virtio が怪しいか?

調査中。

追記(2010-11-11): 軽くしか読んでないですが、Bugzilla 423791 だとすると IPv6 が原因? いずれにしても RHEL 5.6 で直りそう。
Category: Computer
Ustream の再生画面が黒いままで、再生できない。という症状でずっと、ずっと悩んでいたのですが、本日、ようやく解決しました。
手元の環境は Mac OS X 10.6.2 Snow Leopard + Safari 5.0.2 ですが、Windows 環境でも同様な模様。

解決方法: グローバル記憶領域設定パネルで、「サードパーティ製 Flash コンテンツにコンピューター上のデータを格納することを許可します。」にチェックが入っていない場合、この問題が起こるようです。この画面には Flash 画面を右クリックして「グローバル設定...」を選ぶことでアクセスできます。

 *

本当に自分だけずっと見られなくて、いろいろ寂しい思いをしてたのですが、これでもう大丈夫…!
Category: Computer


まぁ、バラバラになっちゃっただけとも言う。クリックで拡大。

USB メモリの部分は上の先端部分のみ。下半分は鉄の重りに両面テープが張ってある構造でした。

 *

元々の商品はこちら
1 年半くらい、キーホルダーに付けてずっと持ち歩いていたので、表面の塗装もほとんど剥げてしまった。まだ動くから勿体ないけど、そろそろ買い替え時期かも。

(追記)
IE だと画像がフルサイズで表示されてレイアウトが崩れていたそうです。とりあえず直しました。
Category: Linux
zsh を使いたいが、ログインシェルにするのはちょっと怖い…。
.bash_profile に
exec /bin/zsh
と書いて代用する、というのはよく使われるテクニックですが、実はこの記述だと /bin/zsh が消えてしまった場合にログインできなくなります。
[ -x "/bin/zsh" ] && exec /bin/zsh
だと /bin/zsh が消えたときには exec が行われなくなるので、安全です。

… と思って使っていたのですが、先ほど自分のサーバを再起動したら帰ってこなくなりました。
理由は /etc/init.d/functions で定義される daemon コマンド(関数)に --user= オプションが指定されていた場合、"/bin/bash -c 'コマンド'" を --user= で指定したユーザのログインシェルとして起動するためです。上記の exec では(見ての通り)zsh に -c を渡していないので、もし --user=root であれば、ログインシェルとして bash が起動されて .bash_profile が実行されるので、zsh が exec されてプロンプトが出たまま起動プロセスが停止してしまいます。

で、CentOS 5.5 の起動スクリプト(のうち自分が使っているソフトウェア)で唯一 --user=root を使っているものが mdmonitor でした。mdmonitor を自動起動するように設定していたため、mdmonitor が起動するときに(本来であれば Starting mdmonitor: が表示されるべきところに)zsh のプロンプトが表示されて停止してしまい、結果として sshd の起動まで辿り着いていないという状況でした。

この問題に対処した zsh の exec 方法は、以下の通りです。
if [ -z "${BASH_EXECUTION_STRING}" ]; then
ZSH="/bin/zsh"
[ -x "${ZSH}" ] && SHELL="${ZSH}" exec "${ZSH}" -l
fi
BASH_EXECUTION_STRING という変数に -c で指定した文字列が含まれているので、-c で何も指定されていない (-z) 場合のみ、zsh を exec するようにしました。これで現状、問題なく動作しています。
Category: Linux
自分用メモ。現在登録されている鍵を取得して表示する。
for KEYNAME in $(rpm -qa "gpg-pubkey*"); do
echo "--- ${KEYNAME} ---";
rpm -qi "${KEYNAME}";
done