■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
read.cgi再開発スレ Part2
- 351 :動け動けウゴウゴ2ちゃんねる :2005/08/28(日) 08:45:32 ID:2GggAJfo0
 -  わーちょろさんだーw 
  
 今は負荷が厳しいということ? 
 
- 352 :動け動けウゴウゴ2ちゃんねる :2005/08/28(日) 08:48:23 ID:pLRYKUdWP
 -  ex11.ex10.news19.live20.live21のread.cgiを常時止めておけばいいんじゃね? 
 鯖にやさしい 
 
- 353 : ◆BOX/05....  :2005/08/28(日) 10:14:42 ID:HWX/1c2WP
 -  もういっそex11のbbs.cgiをとm 
 
- 354 :ぬひゃ :2005/08/28(日) 14:40:45 ID:OZ0G1AWq0
 -  おはつです 
 これからよろしくお願いします 
 
- 355 :動け動けウゴウゴ2ちゃんねる :2005/08/28(日) 21:33:45 ID:+Cdj1yb30
 -  仙一表示みたいなのをスレ末に出せって意味じゃ? 
 
- 356 :動け動けウゴウゴ2ちゃんねる :2005/09/03(土) 15:28:04 ID:rKTgd0lc0
 -  このスレかどうか知らんけど 
 鯖移転したあとに残ってる旧アドレスのスレの書き込みエラー 
 「ユーザー設定が消失しています」じゃわかりにくいんでは 
 
- 357 :動け動けウゴウゴ2ちゃんねる :2005/09/03(土) 15:51:23 ID:baKqLRVMP
 -  ユーザー設定が消失しています 
  
 は 
  
 SETTING.TXTがありません 
  
 という意味だったような・・・? 
 
- 358 :動け動けウゴウゴ2ちゃんねる :2005/09/03(土) 21:52:24 ID:D3fR5zU70
 -  それははじめてきいた 
 
- 359 :動け動けウゴウゴ2ちゃんねる :2005/09/05(月) 19:13:26 ID:PUL6KD6V0
 -  http://qb5.2ch.net/test/read.cgi/operate/1104218992/11 
 
- 360 :動け動けウゴウゴ2ちゃんねる :2005/09/14(水) 17:25:48 ID:M63OcNG70
 -  同じ板に同時期に存在したスレで両方とも現存してるけど 
 鯖移動後の処理がちぐはぐだね 
 スレ番の桁が違うから? 
  
 http://academy3.2ch.net/test/read.cgi/min/997631757/l50 
 http://academy3.2ch.net/test/read.cgi/min/1008244473/l50 
  
 http://academy4.2ch.net/test/read.cgi/min/997631757/l50 
 http://academy4.2ch.net/test/read.cgi/min/1008244473/l50 
 
- 361 :動け動けウゴウゴ2ちゃんねる :2005/09/14(水) 23:16:42 ID:/qN1JKJE0
 -  いずれread.cgiが無くなるってのはどうですか 
 せんぶら普及andどっかでみたインスタント2chビューアーみたいなのを個人が作るとかで 
 
- 362 :動け動けウゴウゴ2ちゃんねる :2005/09/15(木) 01:05:08 ID:55Gsa4Jd0
 -  >>361 
 広告はどこに出せばいいの? 
 (2chの収入源を排除するの?) 
 
- 363 :動け動けウゴウゴ2ちゃんねる :2005/09/30(金) 15:20:11 ID:Je0xBFbV0
 -  広告はスレごと 
 広告つかないスレはdat 
 
- 364 :動け動けウゴウゴ2ちゃんねる :2005/09/30(金) 22:59:47 ID:oiHocncr0
 -  >>363 
 真面レスなんだが結構よくない? 
 ただread.cgiがかなり重くなるかな...? 
 もしくはスレ作成時にスレ毎に特定の広告を決めるようにしとけば、 
 (決めかたが難しいけど)スレの1行目(カウンタの次ぐらい)に 
 広告を出すことはできる...read.cgiも既存のままでいいし。。 
 
- 365 :動け動けウゴウゴ2ちゃんねる :2005/10/01(土) 07:52:29 ID:qH3QZdfY0
 -  Googleっぽく、関連がありそうなスレに関連がありそうな広告を出すのが 
 宣伝効果も高くていいような 
  
 ただ、今の現状ではアダルト広告ばかりになりそうな気もするけど 
 
- 366 :動け動けウゴウゴ2ちゃんねる :2005/10/01(土) 17:56:19 ID:NrF85Gnc0
 -  2ちゃんねるはアダルトは全面禁止 
 PINKちゃんねる行き 
 
- 367 :あぼーん :あぼーん
 - あぼーん
 
- 368 : ◆TWARamEjuA  :2005/10/02(日) 11:42:59 ID:OH//sBsm0 BE:3485748-###
 -  すでにRock済み。 
 Traped BBX。 
 
- 369 :動け動けウゴウゴ2ちゃんねる :2005/10/03(月) 03:21:47 ID:tJFbcg/40
 -  単純にモジュールをlighttpdに移植するだけで結構速くなるみたいだけど、どうよ。 
 http://pc8.2ch.net/test/read.cgi/mysv/1114551645/949- 
 
- 370 :動け動けウゴウゴ2ちゃんねる :2005/10/03(月) 20:32:02 ID:uKkteBhj0
 -  ■定期 
 datスレの頭にエラーメッセージがない 
 
- 371 :動け動けウゴウゴ2ちゃんねる :2005/10/04(火) 16:46:11 ID:XWwb8xlD0
 -  ■ 
 スレの頭に総レス数書いてあるとheadlineとかから開いた時便利 
 昔は700-とかがあったからどれくらい進んでるか目安に出来たけど 
 
- 372 :動け動けウゴウゴ2ちゃんねる :2005/10/05(水) 22:13:57 ID:j/FDPjpp0
 -  ■定期 
 容量で埋まったスレのエラーメッセージがない 
 http://qb5.2ch.net/test/read.cgi/operate/1128074121/ 
 
- 373 :動け動けウゴウゴ2ちゃんねる :2005/10/05(水) 22:45:28 ID:Gn9B0wku0
 -  ■ 
 スレスト処理済のスレの書き込み欄が表示されてる→表示させないように 
 (以前は書き込み欄自体が消えていた) 
 
- 374 :動け動けウゴウゴ2ちゃんねる :2005/10/06(木) 20:16:06 ID:nF77rr6t0
 -  なんか知らん間に結構後退してたんだな 
 
- 375 :動け動けウゴウゴ2ちゃんねる :2005/10/16(日) 11:20:32 ID:iwmJ6+x00
 -  ◆定期>>373 
 http://qb5.2ch.net/test/read.cgi/operate/1128411782/l50 
 
- 376 :▲ ◆cZfSunOs.U  :2005/10/21(金) 06:55:39 ID:fdLPk2o+0
 -  http://qb5.2ch.net/test/read.cgi/operate/1129726127/79-80n 
 これは LANG=ja_JP.SJIS で -c オプションを有効にした際の bbsd による 
 html 生成では対応してますが,read.cgi でも同様の対応をすればいいのかな. 
 まぁ少々面倒ではありますが. 
 
- 377 :動け動けウゴウゴ2ちゃんねる :2005/10/21(金) 14:35:58 ID:uwlfMPx50
 -  ドttp:// 
 ドttps:// 
 てtp:// 
  
 ドttp:// 
 ドttps:// 
 てtp:// 
 
- 378 :動け動けウゴウゴ2ちゃんねる :2005/10/21(金) 14:39:47 ID:uwlfMPx50
 -  デtp:// 
  
 デtp:// 
 
- 379 :動け動けウゴウゴ2ちゃんねる :2005/10/21(金) 14:49:28 ID:uwlfMPx50
 -  ◆定期>>373 
 http://qb5.2ch.net/test/read.cgi/operate/1129786949/l50 
 
- 380 :動け動けウゴウゴ2ちゃんねる :2005/10/21(金) 14:56:55 ID:uwlfMPx50
 -  ◆定期http:/// 
 http://qb5.2ch.net/test/read.cgi/operate/1104218992/184 
 エラーメッセージのやつは全部これっぽい 
 
- 381 :root▲ ★ :2005/10/29(土) 21:59:15 ID:???0 BE:5837388-###
 -  read.cgi ver 05.0.1.2 2005/10/29 
  
 #ifdef notdef 
         ap_rprintf(r," <a href=\"http://info.2ch.net/test/tb.cgi?__mode=list&tb_id=%s\">関連ページ</a>\n",url)  ; 
 #endif 
 
- 382 :ひろゆき@どうやら管理人 ★ :2005/10/29(土) 22:23:10 ID:???0 BE:101928-###
 -  http://qb5.2ch.net/test/read.cgi/operate/1130482779/64n 
 ぺたぺた。 
 
- 383 :ひろゆき@どうやら管理人 ★ :2005/10/29(土) 22:23:24 ID:???0 BE:158055-###
 -  おぉ、、もう反映してる。。。 
 
- 384 :root▲ ★ :2005/10/29(土) 22:24:26 ID:???0 BE:6566898-###
 -  >>383 
 もしまだ変わってないサーバがあったら、知らせてくださいです。 
 
- 385 :▲ ◆SANUKI/VII  :2005/10/29(土) 22:33:16 ID:VXcDQXHVP BE:8154263-###
 -  beは? 
 
- 386 :root▲ ★ :2005/10/29(土) 22:34:00 ID:???0 BE:1277827-###
 -  >>385 
 それは、管理人に直していただくということで。 
 
- 387 :▲ ◆SANUKI/VII  :2005/10/29(土) 22:35:02 ID:VXcDQXHVP BE:32616689-###
 -  結局、ぴろぴろにお仕事が増えました♪ 
  
 
- 388 :root▲ ★ :2005/10/30(日) 01:27:52 ID:???0 BE:5107878-###
 -  read.cgi ver 05.0.1.3 2005/10/30 
  
 http://aa5.2ch.net/test/read.cgi/nanmin/1130341652/81 に対応。 
 
- 389 :動け動けウゴウゴ2ちゃんねる :2005/10/30(日) 02:12:56 ID:ROeuiZZN0
 -  >>388 
 乙〜 
 
- 390 :▲ ◆SANUKI/VII  :2005/10/30(日) 07:56:57 ID:2i3w9BOKP BE:5436443-###
 -  >>388 
 ありがとうございましたー。 
  
 
- 391 :動け動けウゴウゴ2ちゃんねる :2005/10/30(日) 23:47:45 ID:uq8qE1Yc0
 -  │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ  
 
- 392 :〈(`・ω・`)〉φ@実+代表 :2005/10/30(日) 23:48:22 ID:uq8qE1Yc0
 -  │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ │ ≡  ('('('('A` )  
 │≡ 〜( ( ( ( 〜)   
 │ ≡  ノノノノ ノ  
 
- 393 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 01:12:10 ID:Cbpa+rBp0
 -  ├─┤  ├─┤  │  ↑↑↑↑ 
 │  ├─┤  ├─┤  ││││ 
 │  │  │  ├─┤  ││││ 
 │  ├─┤  ├─┤  ││││ 
 ├─┤  ├─┤  └─┘│││ 
 │  ├─┤  └────┘││ 
 │  │  └───────┘│ 
 ↓  └──────────┘ 
  ∩∧ ∧ おらっしゃあぁぁ!!! 
  ヽ( ゚Д゚) 
    \⊂\ 
     O-、 )〜 
       ∪ 
 
- 394 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 22:56:14 ID:/WvKyMya0
 -  スレッド表示の下部、 
 「掲示板に戻る」のリンクと「書き込む」ボタンの位置が近すぎて、 
 間違えて押しそうになります。 
 「書き込む」ボタンを違う場所に移動した方が良いのではないでしょうか? 
 
- 395 :394 :2005/10/31(月) 22:59:20 ID:/WvKyMya0
 -  FireFoxだと特に近いです。 
 時々、コメントのない書き込みを見かけますが、 
 これが原因じゃないでしょうか。 
 
- 396 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 23:12:20 ID:LrKcs97b0
 -  空欄じゃ書き込めないよ 
 
- 397 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 23:23:33 ID:D/fUXAtt0
 -  >395 
 空欄のコメントにも、意味がある場合もある。 
 一番典型的なのは、メール欄で会話するスレかな。 
  
 もちろん、ただのスレ潰しの場合もあるが。 
 
- 398 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 23:32:56 ID:/WvKyMya0
 -  >>396,397 
 FireFoxだと、E-mail欄の「sage」が記憶されているので 
 コメントが空欄でも、 
 間違って「書き込む」を押すと書き込まれてしまいます。 
 
- 399 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 23:37:29 ID:GkSrk5si0
 -  e-mail欄が入ってても、本文が空白なら書き込まれないよ。 
 
- 400 :動け動けウゴウゴ2ちゃんねる :2005/10/31(月) 23:38:45 ID:GkSrk5si0
 -  400ゲトついでに改善要望(定期) 
  
 ■定期>>373 
 スレスト処理済のスレの書き込み欄が表示されてる→表示させないように  
 (以前は書き込み欄自体が消えていた)  
  
 ■定期>>372 
 容量で埋まったスレのエラーメッセージがない  
 http://qb5.2ch.net/test/read.cgi/operate/1128074121/  
  
 
- 401 :398 :2005/10/31(月) 23:40:10 ID:RsZMl2YO0
 -  >>399 
 ほんとだ。じゃ、名前欄に名前が残ってたばあいは? 
 
- 402 :398 :2005/10/31(月) 23:44:26 ID:RsZMl2YO0
 -  >>396,399 
 どうやら本文が空欄だと書き込めないようですね。 
 スレ汚し失礼しました。 
 
- 403 :398 :2005/10/31(月) 23:47:32 ID:RsZMl2YO0
 -  あえて言うなら、コメントを途中まで書いて、 
 やっぱりやめようと「掲示板に戻る」を押そうとして 
 間違えて「書き込む」を押しちゃった場合は書き込まれてしまいますね。 
 レアケースですけど。 
 
- 404 :動け動けウゴウゴ2ちゃんねる :2005/11/01(火) 20:13:26 ID:0m10J6aL0
 -  書き込み欄の下ならいいんじゃないの 
 
- 405 :動け動けウゴウゴ2ちゃんねる :2005/11/02(水) 23:32:23 ID:O6fKTHL50
 -  ここの管轄か知らんけど 
  
 ■http://qb5.2ch.net/operate/kako/ 
 過去ログ倉庫クリックした時にsubbackのほうの窓じゃなくてスレの窓のほうを書き換えるの 
 やめて 
 
- 406 :動け動けウゴウゴ2ちゃんねる :2005/11/03(木) 21:14:25 ID:Wb1alUud0
 -  >405をクリックした時は新しく窓が開くからややこしい 
 
- 407 :動け動けウゴウゴ2ちゃんねる :2005/11/04(金) 21:53:29 ID:J5F0mAYz0
 -  ここの管轄か知らんけど  
  
 ■http://news18.2ch.net/mnewsplus/1000.txt 
 実際にはいるのは普通1001(かそれ以降)じゃないの 
 
- 408 :動け動けウゴウゴ2ちゃんねる :2005/11/10(木) 01:50:06 ID:F6KZqSyl0
 -  なるほど 
 
- 409 :動け動けウゴウゴ2ちゃんねる :2005/11/10(木) 20:41:12 ID:alZcmxn20
 -  まあ1000に到達すると発動するんだけどね 
 レスの形式をとってるから紛らわしい 
 リンクも張れるし 
 http://news19.2ch.net/test/read.cgi/newsplus/1131413427/1001 
 
- 410 :動け動けウゴウゴ2ちゃんねる :2005/11/18(金) 00:06:29 ID:vWUva2lG0
 -  鯖移転時の旧スレはリダイレクトされなくていいんだっけ 
 http://that3.2ch.net/test/read.cgi/dataroom/1104683767/ 
 http://that4.2ch.net/test/read.cgi/dataroom/1104683767/ 
 
- 411 :動け動けウゴウゴ2ちゃんねる :2005/11/21(月) 14:09:27 ID:MC3ZP+ou0
 -  ■ime.nu判定 
  
 2chのスレにbbspinkのスレを貼った時、以前はJumpページ 
 (ime.nu経由?)になったと思うんだけど、今は直で飛べるみたい。 
  
 http://qb5.2ch.net/test/read.cgi/saku2ch/1131265364/793 
  
 BBSPINKは21禁の別サイトのはずなので、 
 間にJumpが挟まってた方がいいのでは。 
 
- 412 :動け動けウゴウゴ2ちゃんねる :2005/11/21(月) 15:02:28 ID:s3dzvoUu0
 -  提携掲示板に細かいこと言うでない 
 
- 413 :動け動けウゴウゴ2ちゃんねる :2005/11/23(水) 01:27:43 ID:Iv3Mx+Qt0
 -  それだったらむしろime.st行く前に 
 「ジャンプ先にアダルト広告(画像つき)があります ジャンプしますか?(y/n)」 
 が必要なんでは 
 
- 414 :root▲ ★ :2005/12/03(土) 13:14:52 ID:???0
 -  >>410 
 なおたとおもう。 
 (memoriesに収容したので、read.cgiバイナリをi386→amd64に変更(配布しなおし)) 
 
- 415 :root▲ ★ :2005/12/05(月) 18:53:11 ID:???0 BE:1459744-###
 -  >>287 をやろうと思って、read.cgi のソースを眺め始めたりして。 
  
 今のread.cgiを見てみると、 
  
         if(!lookfor(ch2,r))             return 3001     ; 
  
 ってやって、まずdatがあるかどうか調べて、lookforの中で、 
  
         if(!apr_stat(&CountStat,ch2->zz_fName,APR_FINFO_MIN,r->pool))   /* found */ 
         { 
                 ch2->zz_filesize = CountStat.size       ; 
                 ch2->zz_mtime = CountStat.mtime         ; 
                 ch2->where = W_LIVE                     ; 
                 return 1                                ; 
         } 
  
 ってやって、datのサイズとmtimeを読んで、その次に、 
  
         if(apr_file_open(&in,ch2->zz_fName,APR_READ,APR_OS_DEFAULT,r->pool)) {return 3011;} 
  
         apr_file_read(in, ch2->BigBuffer, &ch2->zz_filesize); 
         apr_file_close(in)                      ; 
  
 とやって、datをバッファに読み込んでいると。 
  
 ここに >>287 相当品を組み込めばよさげなわけですが、さて、どうすればいいのかと。 
  
 たぶん、HEADしてGETするとか、そういう感じなのかしら。 
 
- 416 :動け動けウゴウゴ2ちゃんねる :2005/12/05(月) 20:39:29 ID:vaenr0/k0
 -  >>411 
 てか板トップから表示されてるスレの外部リンクは全部ime.st抜けてるよ 
 
- 417 :▲ ◆cZfSunOs.U  :2005/12/05(月) 21:38:31 ID:qOa8SuPx0
 -  まず,Apache 2.0 → 2.2 移行に関して......おおかたの API は 
 ソースレベルの互換性は維持されているので,mod_cgidso やそれ用の 
 プログラム (read.cgi 等) はソースの手直しは不要だと思います. 
 ただ,バイナリレベルの互換性はないのでリコンパイルは必要です. 
  
 しかし,>>287 のは正攻法ではなくトリッキーな方法を用いているため, 
 2.2 対応には若干の手直しが必要となります(下記のソースでは 
 その点も含め対応し,2.0 / 2.2 両対応となっています). 
 まぁこれは,正攻法でやろうとすると別途フィルタモジュールを 
 作らなければならなくなるので...... 
 
- 418 :▲ ◆cZfSunOs.U  :2005/12/05(月) 21:39:21 ID:qOa8SuPx0
 -  >>415 乙です. 
  
 >たぶん、HEADしてGETするとか、そういう感じなのかしら。 
  
 そのように2回サブリクエストを実行する形だと非効率になりそうなので, 
 雪だるま版では lookfor() で内容取得まで一緒にやってしまった方が良さそうな気もします. 
 その代わり,dat ファイルを読み込んでる部分をスキップすると. 
  
 ----[この関数を定義しておく]------------------------------------------ 
 #ifdef SNOWMAN 
 static apr_status_t rdat_filter(ap_filter_t *f, apr_bucket_brigade *b) 
 { 
     return ap_save_brigade(f, (apr_bucket_brigade **)&f->ctx, &b, f->r->pool); 
 } 
 #endif 
 ----[lookfor() の中]-------------------------------------------------- 
 #ifdef SNOWMAN 
     int rv; 
 #if defined(AP_SERVER_MINORVERSION_NUMBER) && AP_SERVER_MINORVERSION_NUMBER >= 2 
     ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL, NULL, 0, 0}; 
 #else 
     ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL}; 
 #endif 
     ap_filter_t f = {&frec, NULL, NULL, r, r->connection}; 
     char *uri = apr_pstrcat(r->pool, "/", ch2->zz_bbs, "/dat/", ch2->zz_key, ".dat", NULL); 
     request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f); 
  
     if (!(rv = rdat->status == HTTP_OK ? ap_run_sub_req(rdat) : rdat->status)) { 
         apr_brigade_pflatten(f.ctx, &ch2->BigBuffer, &ch2->zz_filesize, r->pool); 
         apr_brigade_destroy(f.ctx); 
         ch2->zz_mtime = rdat->mtime ? rdat->mtime 
             : apr_date_parse_http(apr_table_get(rdat->headers_out, "Last-Modified")); 
     } 
     ap_destroy_sub_req(rdat); 
  
     if (!rv) { 
         ch2->where = W_LIVE; 
         return 1; 
     } 
 #else 
     if(!apr_stat(&CountStat,ch2->zz_fName,APR_FINFO_MIN,r->pool)) /* found */ 
     { 
         ch2->zz_filesize = CountStat.size ; 
         ch2->zz_mtime = CountStat.mtime ; 
         ch2->where = W_LIVE ; 
         return 1 ; 
     } 
 #endif 
 ----[BigBuffer アロケート / dat 読み込みの部分はスキップ]------------- 
 #ifndef SNOWMAN 
     ch2->BigBuffer = apr_palloc(r->pool, ch2->zz_filesize); /* ←多分こんな形で BigBuffer 領域を確保してますよね? */ 
     if (apr_file_open(&in,ch2->zz_fName,APR_READ,APR_OS_DEFAULT,r->pool)) {return 3011;} 
     apr_file_read(in, ch2->BigBuffer, &ch2->zz_filesize); 
     apr_file_close(in) ; 
 #endif 
 ---------------------------------------------------------------------- 
 
- 419 :root▲ ★ :2005/12/05(月) 22:39:57 ID:???0
 -  >>416 
 ほんとに? 
  
 >>417 
 了解です。 
  
 あとで、>>418 に挑戦してみるです。 
 
- 420 :root▲ ★ :2005/12/05(月) 22:42:24 ID:???0
 -  >>416 
 ちゃんと動いてるっぽいなぁ。 
  
 http://qb6.2ch.net/operate2/ 
 http://qb6.2ch.net/operate2/html/1133790046.html 
  
 https:// と ftp:// は、もともと ime.st にならない仕様(ime.st側でちゃんと動かないので)。 
 
- 421 :root▲ ★ :2005/12/06(火) 01:51:22 ID:???0 BE:6567089-###
 -  やってみました。 
  
 しかし、 
  
 Request exceeded the limit of 10 subrequest nesting levels 
 due to probable confguration error. Use 'LimitInternalRecursion' 
 to increase the limit if necessary. Use 'LogLevel debug' 
 to get a backtrace. 
  
 ううむ。 
 
- 422 :root▲ ★ :2005/12/06(火) 02:09:04 ID:???0 BE:730324-###
 -  で、>>421 は出なくなって、今は、 
  
  [notice] child pid 67012 exit signal Segmentation fault (11) 
  
 うむむ。 
 
- 423 :▲ ◆cZfSunOs.U  :2005/12/06(火) 02:18:11 ID:iYd2v5pK0
 -  >>421 
 >Request exceeded the limit of 10 subrequest nesting levels 
 >due to probable confguration error. 
  
 う〜む......サブリクエストが無限ループになってるんですかね...... 
 proxy 関連の設定はどうなってますか? 
  
 
- 424 :▲ ◆cZfSunOs.U  :2005/12/06(火) 02:22:45 ID:iYd2v5pK0
 -  あと気になる点は...... 
  
 ・ ch2->zz_filesize の型 (apr_size_t? apr_off_t?) 
 ・ ch2->BigBuffer[ch2->zz_filesize] に '\0' を置く必要あり? 
 
- 425 :root▲ ★ :2005/12/06(火) 02:29:52 ID:???0 BE:2463539-###
 -  >>424 
 >        apr_size_t      zz_filesize     ; 
  
 のようです。 
  
 で、apr_file_close(in) の後は、 
  
         p = ch2->BigBuffer                      ; 
         for(i=0;i<ch2->zz_filesize;i++,p++) 
         { 
                 if(*p == '\0')  *p = '*'        ; 
         } 
         *p = '\0'                               ; 
  
         p = ch2->BigBuffer                      ; 
         ch2->lineNum = 0                        ; 
  
 と、やっている模様。 
 
- 426 :root▲ ★ :2005/12/06(火) 02:31:04 ID:???0 BE:2189164-###
 -  >>423 
 >  proxy 関連の設定はどうなってますか? 
  
     # livejupiter 
     ProxyPass /livejupiter/SETTING.TXT ! 
     ProxyPass /livejupiter/ http://live22x.2ch.net/livejupiter/ 
     ProxyPassReverse /livejupiter/ http://live22x.2ch.net/livejupiter/ 
  
 です。 
 
- 427 :▲ ◆cZfSunOs.U  :2005/12/06(火) 02:44:03 ID:iYd2v5pK0
 -  >>425 了解です.zz_filesize の型は良かったのですが, 
  
 >*p = '\0' ; 
  
 があるので apr_brigade_pflatten() のところはこうした方がよさそうです. 
  
 -        apr_brigade_pflatten(f.ctx, &ch2->BigBuffer, &ch2->zz_filesize, r->pool); 
 +        apr_off_t blen; 
 +        apr_brigade_length(f.ctx, 1, &blen); 
 +        ch2->zz_filesize = blen; 
 +        ch2->BigBuffer = apr_palloc(r->pool, ch2->zz_filesize + 1); 
 +        apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize); 
  
  
 >>426 了解です.特に問題はなさそうですね.何が起こってるのかトレースできればいいんですが...... 
 
- 428 :root▲ ★ :2005/12/06(火) 02:57:19 ID:???0 BE:729942-###
 -  ううむ、>>422 のようです。>>427 
  
 で、ch2->BigBuffer は、dso_main で最初に、 
  
         CH2READ ch2                             ; 
  
 と言っていて、CH2READ は、構造体になっているです。 
 で、その中でこんなかんじでとっているです。 
 つまり、apr_pallocで取っているわけではないみたい。 
  
         char    BigBuffer[SZ_BIGBUF]    ; 
 
- 429 :root▲ ★ :2005/12/06(火) 03:05:30 ID:???0 BE:4925096-###
 -  で、入れてみましたが、 
  
 ・バーチャルホスト毎の access.log error.log は出ない 
 ・一番親のログは >>422 
  
 のようです。 
 
- 430 :▲ ◆cZfSunOs.U  :2005/12/06(火) 03:07:50 ID:iYd2v5pK0
 -  >>428 なるほど.とするとこんな感じですか...... 
  
         apr_off_t blen; 
         apr_brigade_length(f.ctx, 1, &blen); 
         if ((ch2->zz_filesize = blen) >= SZ_BIGBUF) 
             return 何かのエラー番号; 
         apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize); 
  
 # デカい構造体をスタックに確保するってのはちょっと不安があるわけですが, 
 # 今までそれで動いてたのなら今回の問題とは無関係だろうということで...... 
  
 で......死んだ時の core のバックトレースを取るとか,truss でトレースするとか 
 できますでしょうか......? 
 
- 431 :root▲ ★ :2005/12/06(火) 03:08:15 ID:???0 BE:4925096-###
 -  現在のもの: 
  
 +#ifdef SNOWMAN 
 +static apr_status_t rdat_filter(ap_filter_t *f, apr_bucket_brigade *b) 
 +{ 
 +       return ap_save_brigade(f, (apr_bucket_brigade **)&f->ctx, &b, f->r->pool); 
 +} 
 +#endif 
  
 +#ifdef SNOWMAN 
 +       int rv; 
 +#if defined(AP_SERVER_MINORVERSION_NUMBER) && AP_SERVER_MINORVERSION_NUMBER >= 2 
 +       ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL, NULL, 0, 0}; 
 +#else 
 +       ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL}; 
 +#endif 
 +       ap_filter_t f = {&frec, NULL, NULL, r, r->connection}; 
 +       char *uri = apr_pstrcat(r->pool, "/", ch2->zz_ita, "/dat/", ch2->zz_key, ".dat", NULL); 
 +       request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f); 
 + 
 +       if (!(rv = rdat->status == HTTP_OK ? ap_run_sub_req(rdat) : rdat->status)) { 
 +               apr_off_t blen; 
 +               apr_brigade_length(f.ctx, 1, &blen); 
 +               ch2->zz_filesize = blen; 
 +               apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize); 
 +               apr_brigade_destroy(f.ctx); 
 +               ch2->zz_mtime = rdat->mtime ? rdat->mtime 
 +                       : apr_date_parse_http(apr_table_get(rdat->headers_out, "Last-Modified")); 
 +       } 
 +       ap_destroy_sub_req(rdat); 
 + 
 +       if (!rv) { 
 +               ch2->where = W_LIVE; 
 +               return 1; 
 +       } 
 +#else 
 (続く) 
 
- 432 :root▲ ★ :2005/12/06(火) 03:11:20 ID:???0 BE:1094562-###
 -  >>430 
 何かのエラー番号: datが大き杉 
 ってことですかね。 
  
 で、Apacheのcoreをとるには、、、。 
 
- 433 :root▲ ★ :2005/12/06(火) 03:12:33 ID:???0 BE:4378368-###
 -          if(ch2->zz_filesize > SZ_BIGMAX)        return 3002     ; 
  
 だから、3002でいいのかな。 
 
- 434 :root▲ ★ :2005/12/06(火) 03:14:30 ID:???0 BE:730324-###
 -  ということで、今こうです。 
 結果は同じか。 
  
 で、core dumpとってみるです。 
  
 +#ifdef SNOWMAN 
 +       int rv; 
 +#if defined(AP_SERVER_MINORVERSION_NUMBER) && AP_SERVER_MINORVERSION_NUMBER >= 2 
 +       ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL, NULL, 0, 0}; 
 +#else 
 +       ap_filter_rec_t frec = {"READDAT", {rdat_filter}, NULL, AP_FTYPE_RESOURCE, NULL}; 
 +#endif 
 +       ap_filter_t f = {&frec, NULL, NULL, r, r->connection}; 
 +       char *uri = apr_pstrcat(r->pool, "/", ch2->zz_ita, "/dat/", ch2->zz_key, ".dat", NULL); 
 +       request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f); 
 + 
 +       if (!(rv = rdat->status == HTTP_OK ? ap_run_sub_req(rdat) : rdat->status)) { 
 +               apr_off_t blen; 
 +               apr_brigade_length(f.ctx, 1, &blen); 
 +               if ((ch2->zz_filesize = blen) >= SZ_BIGBUF) 
 +                       return 3002; 
 +               apr_brigade_flatten(f.ctx, ch2->BigBuffer, &ch2->zz_filesize); 
 +               apr_brigade_destroy(f.ctx); 
 +                       ch2->zz_mtime = rdat->mtime ? rdat->mtime 
 +                       : apr_date_parse_http(apr_table_get(rdat->headers_out, "Last-Modified")); 
 +       } 
 +       ap_destroy_sub_req(rdat); 
 + 
 +       if (!rv) { 
 +               ch2->where = W_LIVE; 
 +               return 1; 
 +       } 
 +#else 
 
- 435 :▲ ◆cZfSunOs.U  :2005/12/06(火) 03:16:17 ID:iYd2v5pK0
 -  >>432 
 CoreDumpDirectory /tmp 
 とかで(httpd プロセスが書き込み可能なディレクトリを指定). 
  
 >>433 というか,lookfor() はエラー時 0 を返すので,とりあえずその部分では 
  
 -            return 何かのエラー番号; 
 +            return 0; 
  
 にしないとしょうがないですか...... 
 
- 436 :root▲ ★ :2005/12/06(火) 03:18:33 ID:???0 BE:547632-###
 -  >>435 
 設定してみた。 
  
 で、 
         if(!lookfor(ch2,r))             return 3001     ; 
  
 なので、return 0ですか。 
 
- 437 :root▲ ★ :2005/12/06(火) 03:26:08 ID:???0 BE:2189546-###
 -  ううむ、core dumpしないみたいです。 
 [Mon Dec 05 10:25:09 2005] [notice] child pid 74701 exit signal Segmentation fault (11) 
  
 # XXX 
 CoreDumpDirectory /tmp 
  
 を、httpd.conf に書いたのですが。 
 
- 438 :▲ ◆cZfSunOs.U  :2005/12/06(火) 03:35:45 ID:iYd2v5pK0
 -  う〜む,なぜだろう......となると...... 
 http://www.freebsd.org/cgi/man.cgi?query=truss 
 は使えるんでしょうか......? 
 
- 439 :root▲ ★ :2005/12/06(火) 03:42:26 ID:???0 BE:1368353-###
 -  truss はできますが、Solarisほど強力じゃないのか。 
  
 http://httpd.apache.org/dev/debugging.html 
  
 これですか。 
 
- 440 :▲ ◆cZfSunOs.U  :2005/12/06(火) 03:47:48 ID:iYd2v5pK0
 -  そうか.....httpd が最初に root で立ち上がってると OS のデフォルトでは 
 core 吐かないようになってるのかな......とすると,とりあえず直接 User 
 ディレクティブで指定してるユーザで立ち上げてみるとか...... 
 
- 441 :root▲ ★ :2005/12/06(火) 03:57:33 ID:???0 BE:821333-###
 -  302 みたいです。<= rdat->status 
 
- 442 :root▲ ★ :2005/12/06(火) 03:58:42 ID:???0 BE:821333-###
 -  すんません。かんちがいだった。>>441 
 
- 443 :root▲ ★ :2005/12/06(火) 03:59:21 ID:???0 BE:3283294-###
 -  200 だなぁ。ちゃんと。 
 
- 444 :root▲ ★ :2005/12/06(火) 04:04:30 ID:???0 BE:2554447-###
 -  core dumpしてるの、ここじゃないですね。 
 もっとあとみたい。 
 
- 445 :root▲ ★ :2005/12/06(火) 04:09:12 ID:???0 BE:2919348-###
 -  ap_rprintf(r, "%s\n", ch2->BigBuffer); 
  
 ってやっても、なんかちゃんと出ないみたい。 
 
- 446 :▲ ◆cZfSunOs.U  :2005/12/06(火) 04:20:04 ID:iYd2v5pK0
 -  >>441-445 乙です.こちらのローカル環境ではOkなんですが,う〜む...... 
 
- 447 :root▲ ★ :2005/12/06(火) 04:22:22 ID:???0 BE:3192375-###
 -  -funsigned-char しているせいかなぁ、、、。 
 
- 448 :root▲ ★ :2005/12/06(火) 04:24:03 ID:???0 BE:1916137-###
 -  strlen(ch2->BigBuffer) が、3らしい。ううむ。 
 
- 449 :▲ ◆cZfSunOs.U  :2005/12/06(火) 04:33:03 ID:iYd2v5pK0
 -  う〜む......原因もつかめないとすると......サブリクエスト方式をやめて 
 ソケットで localhost に取りに行く方式にした方がいいんですかねぇ. 
 read.cgi 1呼び出しごとに2プロセス消費することになっちゃいますが...... 
 
- 450 :root▲ ★ :2005/12/06(火) 04:38:46 ID:???0 BE:1642436-###
 -  >>449 
 ちと、キャッシュ関連やめてみるです。 
 
284KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30