Chaton > Archives > 2009/09/04

2009/09/04 00:28:41 UTCyosaka
#
apacheのエラーログは
#
%[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] *** ERROR: invalid application: (#f #<error "couldn't open output file: "/h ...">), referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] Stack Trace:, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] _______________________________________, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   0  on-error, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] , referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   1  opener, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] , referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   2  (with-error-handler (lambda (e) (let ((e e)) (%guard-rec e e (else ..., referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]         [unknown location], referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   3  (chaton-with-exclusive-locking (lambda () (call-with-output-file | ..., referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]         At line 24 of "/home/masahiro/www/chaton/gauche/chaton-poster-gauche", referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   4  proc, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] , referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   5  (with-error-handler (lambda (e) (let ((e e)) (%guard-rec e e (else ..., referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]         [unknown location], referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1]   6  (cgi-main (lambda (params) (let ((nick (cgi-get-parameter 
#
アクセスログは
#
%127.0.0.1 - - [04/Sep/2009:09:27:37 +0900] "POST /chaton/gauche/chaton-poster-gauche HTTP/1.1" 500 455 "http://chaton/chaton/gauche/" "Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13"
2009/09/04 01:03:43 UTCyosaka
#
試しにDebianでもやってみたのですが、同じでした。
2009/09/04 02:04:59 UTCshiro
#
posterが失敗してるのは確かなようですね。
#
そのエラーログから推測すると、エラーハンドラ中でエラーが起きてて本来のエラーが隠されてるんですが、どうもロックファイルをつくろうとしたところでファイルがオープンできなくて死んでるっぽいです。
#
confファイルのserver-data-dirで指定したディレクトリは存在していて、CGIプロセスから書き込み可能ですか?
2009/09/04 02:09:00 UTCyosaka
#
やってみます
2009/09/04 02:16:33 UTCyosaka
#
server-data-dirは間違いなく存在しています。CGIプロセスからの書き込みは、index.scmというcgiスクリプトを作ってserver-data-dirに書き込みできるかやってみたところ問題なくファイル作成、書き込みができました。
#
ところで、chaton-archiver-$roomは関係ありますか?
#
gosh build-site sample.confを実行した後に、$BINDIRで指定したディレクトリに作成された、chaton-archiver-$roomを実行しようとしたのですが、エラーが出て実行できませんでした。
#
エラーログは
#
% gosh chaton-archiver-gauche 
*** ERROR: real number required: #f
Stack Trace:
_______________________________________
  0  (do ((dis min-dis (dis+ dis 1))) ((>= dis today-dis)) (write-daily ...
        At line 142 of "./chaton-archiver-gauche"
  1  (with-error-handler (lambda (e) (let ((e e)) (%guard-rec e e (else ...
        [unknown location]
  2  (dynamic-wind (lambda () (set! tmp2a (verbose tmp1a)) (set! tmp2a  ...
        [unknown location]
2009/09/04 02:38:09 UTCyosaka
#
server-data-dirにあるlockファイルのアクセス権限を変更したところ、無事書き込みができるようになりました。
#
あと、gosh chaton-arciver-$roomも無事実行できるようになりました。
#
shiroさん、アドバイス本当にありがとうございました。
2009/09/04 02:51:48 UTCyosaka
#
また、どうしても分からないことができたら質問させてください。
2009/09/04 02:58:02 UTCshiro
#
ああそうか、suexecを有効にしていない場合、viewerは起動者の権限で、posterはnobodyの権限で動作するわけだけど、最初にlockfileを作るのがviewerだからそのパーミッションが問題になるわけですね。
#
lockfileを作る時に666にすれば大丈夫かな。
2009/09/04 03:25:20 UTCyosaka
#
そうみたいです。
#
パーミッションの問題は初歩的ですがハマると大変ですね。今後気をつけます。
2009/09/04 03:52:36 UTCshiro
#
Chatonはまだあまり汎用性を考えてはいないので、ハマりどころは多いと思います。