2008年7月24日木曜日

(FreeBSD) Fatal trap 12: page fault while in kernel mode ... current process gam_server

ハードウェア構成とか、どんな仕事をさせるか、負荷…、などの条件や状況によるところは大きいですが、長年、FreeBSDをサーバーとして使ってきて思うに、FreeBSDはちょっとやそっとのことで落ちたりはしない、とっても安定したサーバーとして、信用して使っていられる、というイメージを、私はもっていました。



ところが、ここ1~2ヶ月の間に、2~3回のkernel panicを見てしまいました。



ちゃんとメモを残していなかったんですが、たしかコンソールには、

Fatal trap 12: page fault while in kernel mode
...
current process gam_server

みたいなメッセージがでていて、メモリイメージをディスクにダンプしようとしているのですが、なぜか、ダンプが全然進まず、そのまま固まっていて、再起動もしない、という感じ。



そして、数回見たいずれも、gam_serverが関係していました。



gam_serverというのは、ports/devel/gaminでインストールされる/usr/local/libexec/gam_serverのことらしいです。



私自身は、KDEとかGNOMEは使わないので、gaminについてこれまでほとんど知らなかったんですが、どうやら、KDEを使っていると、gam_serverも実行されるみたいです。



そのkernel panicを起こしたFreeBSDなサーバですが、こんなものです。



  • Core 2 Quad Q6600


  • 4GB


  • FreeBSD/i386 7-STABLE (5月末か6月始めころcsupした)    64bit版じゃない


  • Windows上でXサーバを実行して、FreeBSDのkdmを使って、KDEでログインしてるユーザーが、1~2人いる


  • apache httpd-2.2とかPostgreSQLとかが、そこそこ忙しく動いてる


  • kernel panicしたときは、portupgradeを実行してて、そこそこ負荷は高かった


はじめてkernel panicしたときは、気のせいだ、と思いたかったのですが、どうやらこうたびたび落ちると、どうもgam_server周りで、何かよろしくないところがあるのでは?という気がして仕方ありません。



詳しいことは全然理解していないのですが、FreeBSDのgaminは、kqueueという機能を使っているそうで、kqueueというのは、kernel event notification mechanismというもので、えーとチンプンカンプンなんですが、kernelに関係しているということで、kernel panicもありうるかな?と、臭い匂いがプンプンしてきます。



ports/devel/gaminでは、make configして、GAM_POLLERというオプションをつけると、kqueueを使わなくなるみたいなので、とりあえずはkqueueを使わないgaminで、様子見をしてみようかと思います。



本当は、kernel panic時のデバッグトレースをとれるようにしておくべきなんでしょうがねぇ。





(2008-08-23)



あれからちょうど1ヶ月経過。またしても同じFatal trap 12が出てしまいました。だめか…







0 件のコメント:

コメントを投稿