[Namazu-devel-ja]Solaris環境で、mknmzがワーニングエラーを多量に出す、あるいは止まる。
Taki, Yasushi
taki @ justplayer.com
2004年 6月 8日 (火) 02:38:37 JST
瀧@ジャストプレイヤーです。
お世話になります。
Solarisのjfpuパッケージをインストールしたおかげで状況が変わってきました。
On Mon, 07 Jun 2004 05:15:25 +0900
Tadamasa Teranishi <yw3t-trns @ asahi-net.or.jp> wrote:
> > 4. couldn't set locale correctly
> > これは、旧MLで4044あたりのスレッドで話していたとおり、
> > LANGにjaを入れるだけでエラーがでます。
> > また、/usr/lib/localeにはjaというディレクトリが存在しております。
> > 次のように設定してあるんですが、この場合。基本的にいずれもjaで良いんです
> > よね?
> > LANGUAGE=ja; export LANGUAGE
> > LANG=ja ; export LANG
> > LC_ALL=ja ; export LC_ALL
まずはこれから。
今回、下記のパッケージをインストールすることでいろいろなことが変わりました。
SUNWjfpu
英語だけの検索エンジンを入れる場合を除き、
Solaris8に入れるTips?のようなものかもしれません。
LANG、LANGUAGE、LC_ALLは、ja_JP.eucJP にする必要があるかどうかは分かりません。
ディレクトリは、jaにリンクが張られているだけみたいですけれど。
> > 1.ワーニングがでるファイルタイプについて
> > .mknmzrcを編集し、htmlドキュメントのみの対象にしたら、フルセットでインデッ
> > クス作成をしても、エラーは起きませんでした。xlhtml、pdftotextに限らずで
> > ていたのですが、htmlのみではでないということになります。
> > 従って、xlhtmlのみの問題ではないが、共通項は外部フィルタを使うあたりに、
> > 問題を抱えていたと推測できました。
> かもしれませんが、違うかもしれません。思い込みで、結論を急ぐのは良く
> ないでしょう。
> 例えば、xlhtml で問題が起こってインデックスファイルが壊れたため
> に、以降ワーニングがメディアタイプにかかわらず発生したという可能性
> もあります。
> # 何せ、ワーニングの原因はインデックスが壊れていることによるものと
> # 思われるため。
> 事実を積み重ねて結論を出しましょう。
確かに。
> > 2.日本語ロケールの件
> で、新しい Namazu で make check は通りますか?
> make check のどこで couldn't set locale correctly が出るで
> しょうか?
SUNWjfpuを入れる前は、およそすべての箇所でcouldn't set locale correctly
が発生しました。ただし、ALL PASSEDでした。
しかし、SUNWjfpuを入れることで、ほぼすべてのエラーが消えました。
現在は、下記のような形で1カ所のみであり、FAILです。
PASS: mknmz-1
PASS: mknmz-2
PASS: mknmz-3
PASS: mknmz-4
PASS: mknmz-5
PASS: mknmz-6
PASS: mknmz-7
PASS: mknmz-8
PASS: mknmz-9
PASS: mknmz-10
PASS: mknmz-11
PASS: mknmz-12
PASS: mknmz-13
PASS: mknmz-14
PASS: mknmz-15
PASS: mknmz-16
PASS: mknmz-17
PASS: mknmz-18
PASS: gcnmz-1
PASS: idxdiff-1
PASS: idxdiff-2
PASS: idxdiff-3
PASS: namazu-1
PASS: namazu-2
PASS: namazu-3
PASS: namazu-4
PASS: namazu-5
PASS: namazu-6
PASS: namazu-7
PASS: namazu-8
PASS: namazu-9
PASS: namazu-10
PASS: namazu-11
PASS: namazu-12
PASS: namazu-cgi-1
PASS: namazu-cgi-2
PASS: namazu-cgi-3
PASS: namazu-cgi-4
PASS: namazu-cgi-5
PASS: namazu-cgi-6
PASS: namazu-cgi-7
PASS: namazu-cgi-8
couldn't set locale correctly
FAIL: namazu-cgi-9
PASS: namazu-cgi-10
PASS: ja-mknmz-1
PASS: ja-namazu-cgi-1
PASS: ja-namazu-1
> この状態で、以下のスクリプトを実行した場合は
> "couldn't set locale correctly" が出ますか?
> #!/bin/sh
> echo $LANG
> exit 0
すみません。
事情があって、これを同じ環境でテスト出来ないのですが、代わりに、
関係ないLANGを設定したときのパターンは次のようになります。
> cat >test3.sh
echo $LANG
exit 0
^C
> sh test3.sh
ja
> setenv LANG ja_JP.EUC
> sh test3.sh
couldn't set locale correctly
ja_JP.EUC
> setenv LANG ja_JP.eucJP
> sh test3.sh
ja_JP.eucJP
このようになります。
だめなものを入れると、読もうとしただけでエラーがでるようですね。
> > いずれにせよ、次は日本語パッケージに問題がないか調べてみようと考えており
> > ます。
> 出るような日本語パッケージ関係を調べ直した方が良いかもしれません。
これは具体的なパッケージ名を調べて起きます。
> > 5. 生まれた問題
> > namazu.cgiが動かなくなった。
> 作り直した namazu.cgi ですよね?
> > .namazurcないでLANG jaにしているのですが、
> > やっぱり日本語周りと関係有りそうな気がします。
> > 具体的な動かない点は、CGIが画面にNMZ.head.jaを読んで表示した後、その先を
> > 表示しないというものです。
> 表示しないだけで正常終了しているのでしょうか?
> Web サーバのログや NMZ.warnlog に何か書かれていませんか?
インストールしたのはもちろん作り直したnamazu.cgiです。
これですが、.namazurcのLANGが不正なものだと、止まりませんか?
実は、FreeBSDでも試していて、FreeBSDでは、
○画面中
Content-type: text/html
Error
processing time exceeds a limit: 60
○エラーログ
namazu.cgi in malloc(): warning: recursive call
namazu.cgi in malloc(): warning: recursive call
namazu.cgi in malloc(): warning: recursive call
namazu.cgi in malloc(): warning: recursive call
となります。
Solarisの方はエラーログには乗りませんが、画面は同じです。
--------------------------以下、FreeBSDの別件の話
以前はnamazurcの記載は、LANG=jaで動いてたのですが、何かの拍子(?)で、
jaへのlocaleのリンクが消えたのか、あるいは13系で変わったのか、突然上記の
ような状態になりました(社内用検索サイトで、ある時、動かなくなってたので
気がつかなかった)。
--------------------------
これは、正直、なかなか分かりづらかったので、
webサーバのerror_logに、それっぽい奇跡が残るとありがたいです。
> > 6. xlhtmlの問題?
> ...
> > 入れ替えをしたのですが、一部xlhtmlがバスエラーを出し、変換に失敗するだけ
> > で、おおむねうまくいっております。これはxlhtml -m ファイル名で行っても、
> > 同じバスエラーなのでxlhtml上の理由であることがわかります。
> > とりあえず、ここではこれはおいておきます。
> バスエラーは致命的な問題です。
> xlhtml でバスエラーになるようなファイルは、mknmz で処理しないで
> ください。
そうですね。xlhtmlをQuickHackしたほうが良いような気がしてきました。
そしてこれですが、
1. サーバの設計者
2. WEBサーバ周りの設計者
3. WEBシステムの設計者
4. WEBコンテンツの設計者
5. コンテンツを入れる人
など、担当が別れてるときに、5の人が入れるExcelファイルがエラーかどうか分
からないので、使う側的にも、mknmz的にもエラーの時は、エラーコードで落ち
て欲しいですよね。
これに関しては、とりあえずxlhtmlの問題ってことで・・・・すよね?
#あとでHackが簡単かどうか、Cのソースを覗いて見ます・・・
> > 7. 止まるファイル
> > 止まるファイルは未だにあります。ただし、前回と違い、今回は現状xlhtml経由
> > でしか問題を発見しておりません。pdftotext経由では起きなくなっていますが、
> > 以前はpdftotextでもでたので、これは今回たまたまであり、まだほかに何か関連
> > があるのかもしません。
> > 止まると、いう症状ですが、mknmzがCPUを99%使い、kill さえ受け付けなくな
> > ります。kill -9をしないと落ちない状況です。
> mknmz では SIGTERM を受け取ると、次の文書を処理する際に終了する
> ようになっています。(即時終了しません。これは終了処理を行うためです。)
なるほど!
> kill で終了しないということは、まだあるファイルの処理が終わっていない
> ためでしょう。つまり、そのファイルの処理が異常に時間がかかっているか、
> 無限ループに入っているということになります。
> その原因はきちんとつめていかないと、はっきりとしたことは言えません。
ですね。
> NMZ.err に何か書かれていませんか?
残念ながら、何もかかれておりません。
> そして、その止まるというファイルは特定のファイルでしょうか?
特定のファイルだと思ったのですが、そのファイルを無くしたところで、次のファ
イルあたりで止まります。
そして、このときの状況は、このような形。
> ps -aef -o'pid pri opri pcpu pmem time etime stime fname '
5892 0 99 98.9 5.2 59:15 01:00:50 00:53:47 mknmz
メモリを5%も食べてます。このpmemがスワップ込みとかだと分からないのですが・・・・。
とりあえず、今分かっていることを。
・止まっている状態で、ps -aefを取ると、mknmzしか動いていないように見えます。
・該当のファイルを
xlhtml foo.xls | lv | chasen -F "%m "
すると、一瞬で帰ってきます。
・該当のファイルを消しても、およそ次で止まります。
・止まる前は正常終了してるのに妙に遅いです。5分ぐらい考えることもあります。
そのようなファイルも上記のパイプ処理で一瞬で帰ってきます。
・killをしてしばらく放置しても、トラップしない・・・・と思ったら、
SIGTERM caught!
で、忘れたころに帰ってきました。
・メモリも結構沢山食べてます。
#確認までに、Solarisって-aefですべて見えるはずなんですよね?
今のところは以上です。
#日中は別の実務が別にあってなかなか進まない・・・(笑
------------------
〒424-0821 静岡県静岡市清水相生町6-17
静岡市清水産業・情報プラザ611
(有)ジャストプレイヤー
瀧 康史
TEL : 0543-53-7660 FAX : 0543-53-7661
mailto:taki @ justplayer.com http://www.justplayer.co.jp/
Namazu-devel-ja メーリングリストの案内