[過去ログ] 2ch特化型サーバ・ロケーション構築作戦 Part21 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
235
(1): ◆PyBmQVnXTM 2006/04/27(木) 12:03:55 ID:VKQyPqiN0(1)調 AAS
>>219
bbspink.com に対してのテスト書き込みを行いました。

>>225
p2への書き込みの件、承知しました。
(現在、モリタポの申請中です)

>>234
u.la から bbspink に書き込む際の action属性の中に utn が含まれているため、
404が返されております。(firefoxで確認済)
できれば修正していただけると助かります。
236: root▲ ★ 2006/04/27(木) 14:33:35 ID:???0 BE AAS
>>235
第一段落、第二段落
よろしくおねがいします。

第三段落
状況確認しました。修正してもらう方向で。
237: root▲ ★ 2006/04/27(木) 15:02:37 ID:???0 BE AAS
u.la の対応がなされたようです。

雪だるま作戦のスレを待ち続けるスレ Part6
2chスレ:nanmin

確認をお願いいたします。
238
(1): ◆PyBmQVnXTM 2006/04/27(木) 15:35:13 ID:8yYtn6v10(1)調 AAS
u.la から bbspink.comの書き込みを確認しました。

外部リンク:same.u.la

478: bbspink.com からibisBrowserで直接書き込み
479: c.2ch.net からibisBrowserで書き込み
480: (PCから書き込み)
481: u.la からibisBrowserで書き込み

以上の通り、書き込みできましたことを報告いたします。
239
(1): root▲ ★ 2006/04/27(木) 16:09:47 ID:???0 BE AAS
>>238
了解しました。

公式 p2 以外は対応できたということですね。
向こうの様子をみていると、公式 p2 ももうすぐ対応できそうな感じで。
240: ◆PyBmQVnXTM 2006/04/27(木) 17:24:20 ID:+NOcME0YP(1)調 AAS
>>239
ありがとうございました。
公式p2への書き込みも無事終了しました。
今後ともよろしくお願い申し上げます。
241
(1): カイト 2006/04/27(木) 19:05:12 ID:hLXKjTQn0(1)調 AAS
皆さんに質問ですウイルスの作り方知ってる人カキコおねがいします
(*´д`)ハァハァ
242: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 19:20:01 ID:xm32mp4Q0(1/2)調 AAS
>>241
まずメモ帳を開く

243: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 19:21:37 ID:swt1nvC50(1)調 AAS
そしてお湯を沸かす

244: ◆SANUKI/VII 2006/04/27(木) 19:25:15 ID:EBXb9wjTP(1)調 BE AAS
VIPでやれ
245: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 20:07:09 ID:xm32mp4Q0(2/2)調 AAS
怒られる

246: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 20:11:25 ID:Egjy6L/JP(1)調 AAS
讃岐あぼん
247: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 20:13:11 ID:qyRDUlMq0(1)調 AAS
出来上がりです!
248: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 20:23:03 ID:vNc69kqx0(1)調 AAS
蒸らしが足りないので失敗でした。。
249: 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 20:24:35 ID:7FX0xzeW0(4/4)調 BE AAS
rootさん・西村さん、お疲れ様でしたm(_ _)m
250: root▲ ★ 2006/04/27(木) 21:48:54 ID:???0 BE AAS
さっき、live22 が重くなった時。

症状は先日と同じで、CPU idle time が 0 になり、
umtx という状態の httpd が多数発生して、httpd 自体が signal 10 でダウンするもの。

httpd の数を少なくしておくと、操作できなくなるほどの重さにはならない。

core 吐いているので、gdb の出力をこれから調査。

(gdb) where
#0 0x282884d3 in _umtx_op () from /lib/libc.so.6
Cannot access memory at address 0xb787de80
251: root▲ ★ 2006/04/27(木) 21:51:55 ID:???0 BE AAS
で、top で見ると、
"stopped" なスレッドが山ほどいた。

明らかに、挙動不審だ。
252: root▲ ★ 2006/04/27(木) 21:58:05 ID:???0 BE AAS
もう1回堀江被告が出るようなので、

/etc/libmap.conf を /etc/libmap.conf.SAVE に mv して、
Apache と bbsd をリスタートし、
libthr => libpthread に戻してみた。
253: root▲ ★ 2006/04/27(木) 22:26:56 ID:???0 BE AAS
#XXX#MaxKeepAliveRequests 100

MaxKeepAliveRequests 0

これはあんまり効果ないかなぁ。
やはり、mod_cache とかか。
254: 株価【600】◆cZfSunOs.U 2006/04/27(木) 23:41:38 ID:+k37joJg0(1/2)調 AAS
桃の毛が明晩に迫ってて,バック増設も間に合いそうにない,となると
やはり mod_cache か......
255
(1): 動け動けウゴウゴ2ちゃんねる 2006/04/27(木) 23:54:34 ID:FVJqUPlM0(1)調 AAS
桃の毛は5/12だからそこまで急がなくても。
256: 株価【600】◆cZfSunOs.U 2006/04/27(木) 23:58:12 ID:+k37joJg0(2/2)調 AAS
>>255 なるほど......金曜日とかどっかで見たような気がして,てっきり明日かと......
257
(1): stream ◆PNstream2s 2006/04/28(金) 00:12:56 ID:kCVpYe/y0(1)調 AAS
Apache2.2.0で起こるフロントの暴走って結局どうなりました?
mod_proxyで子プロセスがCPUを100%つかうバグが2.2.0にあるみたいですけど

外部リンク[cgi]:svn.apache.org
258: root▲ ★ 2006/04/28(金) 00:18:32 ID:???0 BE AAS
>>257
今フロントは Apache 2.0.55 + libpthread です。
特に暴走問題はその後起こってない模様。
259
(1): 動け動けウゴウゴ2ちゃんねる 2006/04/28(金) 00:31:15 ID:g6hnuWFD0(1/2)調 AAS
2.2.0じゃないの?

GET /ootoko/subject.txt HTTP/1.1
If-Modified-Since: Thu, 27 Apr 2006 14:27:26 GMT
Host: live22x.2ch.net
Accept: text/html, */*
Accept-Encoding: gzip
User-Agent: Monazilla/1.00 (JaneStyle/2.23)

HTTP/1.1 304 Not Modified
Date: Thu, 27 Apr 2006 15:22:36 GMT
Server: Apache/2.2.0
ETag: "126a1-3d-63244f80"
Vary: Accept-Encoding
260: root▲ ★ 2006/04/28(金) 00:39:25 ID:???0 BE AAS
>>259
mod_proxy 経由でバックエンドにいくと、そうなります。
バックエンドは Apache 2.2.0

HEAD / HTTP/1.1
Host: live22x.2ch.net

HTTP/1.1 200 OK
Date: Thu, 27 Apr 2006 15:38:03 GMT
Server: Apache/2.0.55
Last-Modified: Thu, 18 Aug 2005 12:46:12 GMT
ETag: "da84b-8c-9917ed00"
Accept-Ranges: bytes
Content-Length: 140
Vary: Accept-Encoding
Content-Type: text/html
261: 動け動けウゴウゴ2ちゃんねる 2006/04/28(金) 00:40:58 ID:g6hnuWFD0(2/2)調 AAS
あら、そんな仕様だったのか。失礼しました。
262
(1): root▲ ★ 2006/04/29(土) 03:57:21 ID:???0 BE AAS
明日以降、mod_cache を入れるべく、
squid と mod_cache あり Apache との間で実際にどんなやりとりがなされているか
調べてみるということで。
263
(9): 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 10:41:19 ID:pY0afDFM0(1)調 AAS
Apacheが落ちちゃう問題について。

自宅の6.0-RELEASEマシンで再現したので、いろいろ調べてるんですが、
メモリが破壊されることがある模様。

例:
(gdb) frame 2
#2 0x08095001 in ap_http_header_filter (f=0x819edd8, b=0x819f708) at http_filters.c:1024
1024 send_all_header_fields(&h, r);
(gdb) p r
$31 = (request_rec *) 0x819e050
(gdb) p *r
$32 = {pool = 0x2c746153, connection = 0x20393220, server = 0x20727041, next = 0x36303032,
<長いので省略>
(gdb)

0x2c746153 -> ,taS -> Sat,
0x20393220 -> 92 -> 29
0x20727041 -> rpA -> Apr
つまり Sat, 29 Apr

…というように、本来ポインタ値が入るところに文字列が入ってます。
今のところ、OSの問題なのか、Apacheの問題なのかは不明です。
264: 株価【700】◆cZfSunOs.U 2006/04/29(土) 11:02:03 ID:z/i950CG0(1/2)調 AAS
>>262 この壁を乗り越えると,また一歩前進と......
265: 軍艦焼 ★ 2006/04/29(土) 11:07:12 ID:???0 AAS
【BBQ&BBM14本目】公開串登録所【ピンポイント規制】
2chスレ:sec2chd
携帯からなのでbrew.ne.jpと思われる範囲をばっさりしました。
>>205の考えと宣伝荒らし発生のため)

ご報告まで。
266: 株価【700】◆cZfSunOs.U 2006/04/29(土) 11:20:38 ID:z/i950CG0(2/2)調 AAS
>>263 う〜む......そうなっちゃうとすると SIGBUS 発生も頷けますが,しかしなぜそうなるのか......
267: 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 11:23:23 ID:TGF9wkTR0(1)調 AAS
メモリが糞で化けてる可能性は無視ですか?そうですか。
268: 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 12:04:34 ID:WQscSnyKO携(1/2)調 AAS
きっとアドレスが足りないんだよ、ァ。

再現できるので、多分OSでゴミが貯まっているかも。

二日にいっぺん再起動かけるようにしたらいいかも。
10:55〜11:00までは朝支度をしています。何卒ご了承下さい。
269: 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 13:58:38 ID:2y12yphs0(1/2)調 AAS
memtestかけて何も問題無かったらapacheの問題かな?
270
(1): root▲ ★ 2006/04/29(土) 14:01:00 ID:???0 BE AAS
signal 10 で落ちるのは 2ch 全土でかなり昔から観測されているので、
Apache か OS の問題と思いますね。

preform MPM な banana / tiger / cobra でも観測されているです。
271: root▲ ★ 2006/04/29(土) 14:02:02 ID:???0 BE AAS
>>270 補足

ただ、worker MPM で負荷が高くなった時にまとまって落ちるという
現在の症状のものとは、
原因が異なっているような気もしていたりします。
272: 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 15:27:45 ID:vLnePUkK0(1)調 AAS
>>263
こういうのは、普通はAPL側での、メモリの誤解放、
メモリを解放したけどなんらかの検索用のlistからの
削除が漏れていた、listからの削除がメモリ解放より
後になっていてプリエンプションで他のプロセスに
メモリを横取りされた、といったことが多いですね。

でも、ApacheとFreeBSDどっちが信頼がおけるのだろう...
273: 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 15:31:24 ID:2y12yphs0(2/2)調 AAS
どっちも枯れたとは言い難い最新版だしなぁ
274
(1): 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 15:39:53 ID:WQscSnyKO携(2/2)調 AAS
この際他のディストリに乗り換えてみるとか。
debian
fedora
centos
gentoo
ubuntu

あと個人的には理研のKNOPPIXがたしかworkノードを分散処理出来るらしいので気になる。
275: 動け動けウゴウゴ2ちゃんねる 2006/04/29(土) 16:17:31 ID:m2wBdN/f0(1)調 AAS
>>274はなんで2chがFreeBSD採用しているのかわかっているのだろうか
お守りをする人が一番得意としているからだろw
276
(1): 263 2006/04/30(日) 12:05:34 ID:0J9aTQO80(1/6)調 AAS
>>263 の問題についてパッチを作ったので、後ほどUPします(現在テスト中)。
パッチを当てる前は結構落ちてましたが、
パッチを当てた後は、今のところ一度も落ちていません。
live22 で落ちる原因がこれと同じかはわかりませんが。。。

なお、これは Apache 2.2.0 worker で落ちる問題の対応で、
prefork で落ちるのは別の原因だと思われます。
277
(2): 263 2006/04/30(日) 13:06:17 ID:0J9aTQO80(2/6)調 AAS
長いので、分けてUPします。

--- server/mpm/worker/fdqueue.c.origFri Nov 11 00:20:05 2005
+++ server/mpm/worker/fdqueue.cSun Apr 30 10:37:38 2006
@@ -14,6 +14,10 @@
* limitations under the License.
*/

+#ifdef __FreeBSD__
+#include <sys/types.h>
+#include <machine/atomic.h>
+#endif
#include "fdqueue.h"
#include "apr_atomic.h"

@@ -43,8 +47,14 @@
if (first_pool == NULL) {
break;
}
+#ifdef __FreeBSD__
+ if (atomic_cmpset_ptr((volatile uintptr_t *)&(qi->recycled_pools),
+ (uintptr_t)first_pool,
+ (uintptr_t)first_pool->next)) {
+#else
if (apr_atomic_casptr((volatile void**)&(qi->recycled_pools), first_pool->next,
first_pool) == first_pool) {
+#endif
apr_pool_destroy(first_pool->pool);
}
}
@@ -96,9 +106,15 @@
new_recycle->pool = pool_to_recycle;
for (;;) {
new_recycle->next = queue_info->recycled_pools;
+#ifdef __FreeBSD__
+ if (atomic_cmpset_ptr((volatile uintptr_t *)&(queue_info->recycled_pools),
+ (uintptr_t)new_recycle->next,
+ (uintptr_t)new_recycle)) {
+#else
if (apr_atomic_casptr((volatile void**)&(queue_info->recycled_pools),
new_recycle, new_recycle->next) ==
new_recycle->next) {
+#endif
break;
}
}
278
(2): 263 2006/04/30(日) 13:08:24 ID:0J9aTQO80(3/6)調 AAS
@@ -163,7 +179,7 @@
* now nonzero, it's safe for this function to
* return immediately.
*/
- if (queue_info->idlers == 0) {
+ while (queue_info->idlers == 0) {
rv = apr_thread_cond_wait(queue_info->wait_for_idler,
queue_info->idlers_mutex);
if (rv != APR_SUCCESS) {
@@ -190,8 +206,14 @@
if (first_pool == NULL) {
break;
}
+#ifdef __FreeBSD__
+ if (atomic_cmpset_ptr((volatile uintptr_t*)&(queue_info->recycled_pools),
+ (uintptr_t)first_pool,
+ (uintptr_t)first_pool->next)) {
+#else
if (apr_atomic_casptr((volatile void**)&(queue_info->recycled_pools), first_pool->next,
first_pool) == first_pool) {
+#endif
*recycled_pool = first_pool->pool;
break;
}
279
(1): 263 2006/04/30(日) 13:12:46 ID:0J9aTQO80(4/6)調 AAS
完了。

変更点は、apr_atomic_casptr() -> atomic_cmpset_ptr() です。
なお、fdqueue.c は以前のパッチがあるので、
このパッチはその変更も取り込んでいます。
280
(1): root▲ ★ 2006/04/30(日) 13:22:30 ID:???0 BE AAS
>>276-279
ありがとうございます。

ひとつ質問です。
#ifdef __FreeBSD__ となっていますが、
これは FreeBSD に固有の虫さんなんでしょうか。
281: 263 2006/04/30(日) 13:34:40 ID:0J9aTQO80(5/6)調 AAS
>>280
#ifdef __FreeBSD__ になっているのは、
対応に、FreeBSD固有の関数(atomic_cmpset_ptr())を使用しているからです。

で、一応、私のところではこれで直ってるんですが、
apr_atomic_casptr()を使用した場合、どこが問題なのかは、まだわかってないです。
わかる人がいたら、教えて頂けると嬉しいです。。
282: 263 2006/04/30(日) 13:50:22 ID:0J9aTQO80(6/6)調 AAS
apr_atomic_casptr()に問題があるなら、どのOSでも発生するはずですが、
タイミングに依るので、OSによっては問題が起こらない or 起こり難い
はあると思います。

それにしても、、
Apache の ap_queue_info_set_idle() & ap_queue_info_wait_for_idler()
の条件変数とmutexは、もう少し素直なコーディングにしても良いんじゃないかと思う。
できるだけパフォーマンスをUPさせるためにこうなってるのかな。。。
283: root▲ ★ 2006/04/30(日) 19:24:36 ID:???0 BE AAS
パッチ適用作業中、、、。 < live22
284: root▲ ★ 2006/04/30(日) 19:26:17 ID:???0 BE AAS
外部リンク:ftp.peko.2ch.net
285: root▲ ★ 2006/04/30(日) 19:39:30 ID:???0 BE AAS
作業完了。< @live22
286: root▲ ★ 2006/04/30(日) 19:46:34 ID:???0 BE AAS
で、libthr 復活してみるか。 < @ live22
287: root▲ ★ 2006/04/30(日) 19:48:05 ID:???0 BE AAS
/etc/libmap.conf を元に戻して(有効にして)、
httpd と bbsd を再起動した。 < live22
288
(1): ノtasukeruyo 2006/04/30(日) 20:15:15 ID:PUxuVcKTO携(1)調 AAS
やはりp2から書き込んでいないのに末尾Pになると悲しくなるのは修正効きませんか?

KDDI-HI31 UP.Browser/6.2.0.5.c.1.100 (GUI) MMP/2.0
289: root▲ ★ 2006/04/30(日) 20:20:57 ID:???0 BE AAS
>>288
それは「公式p2から書き込んでいないのに末尾Pになる」ということですか。
290: 動け動けウゴウゴ2ちゃんねる 2006/04/30(日) 21:02:33 ID:oNtMiNwU0(1)調 AAS
ID末尾に機種判定が出ない板で、たまたま末尾がPになっただけだったりして
291: root▲ ★ 2006/04/30(日) 21:59:25 ID:???0 BE AAS
PowerDNS recursor 3.0.1
外部リンク[html]:downloads.powerdns.com
外部リンク:blog.netherlabs.nl

高パフォーマンスか。
試してみる価値はあるかも。

live22系での使用とかを考えると、レイテンシが高いといいかな。
292
(2): 株価【650】◆cZfSunOs.U 2006/04/30(日) 22:24:59 ID:JM7KsuHS0(1)調 AAS
mutex が怪しい?

void *apr_atomic_casptr(volatile void **mem, void *with, const void *cmp)
{
    void *prev;
#if APR_HAS_THREADS
    apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];

    CHECK(apr_thread_mutex_lock(lock));
    prev = *(void **)mem;
    if (prev == cmp) {
        *mem = with;
    }
    CHECK(apr_thread_mutex_unlock(lock));
#else
    prev = *(void **)mem;
    if (prev == cmp) {
        *mem = with;
    }
#endif /* APR_HAS_THREADS */
    return prev;
}
293
(1): root▲ ★ 2006/04/30(日) 22:35:34 ID:???0 BE AAS
ex11, ex14 にも適用しておこう。< 上記Apache2.2のパッチ
294
(1): root▲ ★ 2006/04/30(日) 22:42:49 ID:???0 BE AAS
>>292
ううむこれって、特に高負荷時に apr_thread_mutex_{,un}lock() が怪しい動きをする、
という話なのかしら。
295: root▲ ★ 2006/04/30(日) 23:10:09 ID:???0 BE AAS
>>293 done.
296
(1): 263 2006/05/01(月) 07:02:25 ID:S0NHnq+v0(1)調 AAS
全OS対応の汎用パッチも作ってみました。
このパッチでも、Apacheが落ちずに使えてます。

>>292 >>294
下記パッチで修正されることから考えるに、apr_atomic_casptr()自身よりも
その使い方に問題があると思われます。
apr_atomic_casptr()が成功した場合、new_recycleがキューにpushされたということであり、
一旦キューに入ったからには、apr_atomic_casptr()からreturnしてきた段階で、
既にpopされて別のところで使われているかもしれません。
そういう意味で、new_recycle->nextを比較演算子の右辺として使うのは
よろしくないんじゃないかと思います。

なお、このパッチは汎用なので、
FreeBSDの場合は >>277-278 のパッチを使用した方がちょっとだけ速いです。

--- server/mpm/worker/fdqueue.c.origMon May 1 05:56:14 2006
+++ server/mpm/worker/fdqueue.cMon May 1 06:08:02 2006
@@ -95,10 +95,10 @@
sizeof(*new_recycle));
new_recycle->pool = pool_to_recycle;
for (;;) {
- new_recycle->next = queue_info->recycled_pools;
+ struct recycled_pool *prev;
+ prev = new_recycle->next = queue_info->recycled_pools;
if (apr_atomic_casptr((volatile void**)&(queue_info->recycled_pools),
- new_recycle, new_recycle->next) ==
- new_recycle->next) {
+ new_recycle, prev) == prev) {
break;
}
}
@@ -163,7 +163,7 @@
* now nonzero, it's safe for this function to
* return immediately.
*/
- if (queue_info->idlers == 0) {
+ while (queue_info->idlers == 0) {
rv = apr_thread_cond_wait(queue_info->wait_for_idler,
queue_info->idlers_mutex);
if (rv != APR_SUCCESS) {
297: root▲ ★ 2006/05/01(月) 11:33:07 ID:???0 BE AAS
>>296
おつです。
外部リンク:ftp.peko.2ch.net

を更新しました。
FreeBSDのやつは、こちらにリネームしました。

外部リンク:ftp.peko.2ch.net

で、今 live22 を見ると、また core dump していました。
通常状態でのものなので原因違うかもですが、一応。
298: root▲ ★ 2006/05/01(月) 11:34:11 ID:???0 BE AAS
(gdb) info threads
130 Thread 0x809c000 (LWP 100274) 0x2828a833 in read () from /lib/libc.so.6
129 Thread 0x809c500 (LWP 100368) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
128 Thread 0x809c600 (LWP 100369) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
127 Thread 0x809c700 (LWP 100371) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
126 Thread 0x809c800 (LWP 100374) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
...
67 Thread 0x81de400 (LWP 101244) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
66 Thread 0x81de500 (LWP 101248) 0x28289973 in poll () from /lib/libc.so.6
65 Thread 0x81de600 (LWP 101252) 0x28289973 in poll () from /lib/libc.so.6
...
23 Thread 0x8241000 (LWP 101964) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
22 Thread 0x8241100 (LWP 101965) 0x2828a4b3 in kill () from /lib/libc.so.6
21 Thread 0x8241200 (LWP 101966) 0x282884d3 in _umtx_op ()
from /lib/libc.so.6
...
299: root▲ ★ 2006/05/01(月) 11:35:01 ID:???0 BE AAS
2 Thread 0x8262500 (LWP 102200) 0x28289973 in poll () from /lib/libc.so.6
1 Thread 0x8262600 (LWP 102201) 0x2828a593 in accept () from /lib/libc.so.6
(gdb) thread 22
[Switching to thread 22 (Thread 0x8241100 (LWP 101965))]#0 0x2828a4b3 in kill
() from /lib/libc.so.6
(gdb) where
#0 0x2828a4b3 in kill () from /lib/libc.so.6
Cannot access memory at address 0xb8d92a3c
(gdb)

ううむ。
300
(1): root▲ ★ 2006/05/01(月) 11:48:27 ID:???0 BE AAS
signal 10問題、簡単なまとめ

1) 通常状態で散発的に発生(全サーバ)

httpd子プロセスの一つが散発的にsignal 10で落ちる
負荷にあんまり関係ないっぽい

2) 高負荷状態で集中的に発生(live22)

httpd子プロセスがたくさんsignal 10で落ちる
高負荷時に発生している模様

ということで上のほうのパッチで 2) が直るといいかなと。
301: 動け動けウゴウゴ2ちゃんねる 2006/05/01(月) 13:04:06 ID:J451Dwo00(1)調 AAS
>>300
1)はたぶん虫さんでしょうね・・・・

libcの虫さんでなければいいのですけど。
302: root▲ ★ 2006/05/01(月) 14:30:49 ID:???0 BE AAS
6.1-RC2

%uname -a
FreeBSD banana273.maido3.com 6.1-RC2 FreeBSD 6.1-RC2 #3: Sun Apr 30 22:25:34 PDT 2006 root@banana273.maido3.com:/var/src/sys/i386/compile/I386_BANANA_61 i386
303: ◆TWARamEjuA 2006/05/01(月) 16:13:09 ID:0P9UpqgV0(1)調 BE AAS
RCといえば、やっと取れたみたい(苦笑)@ProFTPD 1.3.0
304
(1): 動け動けウゴウゴ2ちゃんねる 2006/05/01(月) 17:45:34 ID:bDtDitjaO携(1)調 AAS
thttpdはcgiをBasicサポトしてます。
というのを知ったがどうにも私ゃ知らん。
明日からCプログラミングを習います、はい。
305: root▲ ★ 2006/05/01(月) 18:46:43 ID:???0 BE AAS
>>304
thttpd をバックエンドで試してみる、という選択肢はあるかもですね。

If-Modified-Since やら差分転送やらが、きちんと動くのかがポイントかしら。
306
(1): 動け動けウゴウゴ2ちゃんねる 2006/05/01(月) 20:49:31 ID:6BqJQb+40(1)調 AAS
Apache 2.0.58と2.2.2がリリースされました。
外部リンク[html]:www.apache.org
外部リンク[html]:www.apache.org

2.2.2のほうはmod_proxyにいっぱい修正が入ってます。
307: root▲ ★ 2006/05/02(火) 01:36:41 ID:???0 AAS
>>306
%cat /usr/ports/www/apache22/distinfo
MD5 (apache22/httpd-2.2.2.tar.bz2) = 9c759a9744436de6a6aa2ddbc49d6e81
SHA256 (apache22/httpd-2.2.2.tar.bz2) = 51f8e00ca27ba4d4259daeff30ce6efcdcf086d277ffb7130e215b492a6f77cc
SIZE (apache22/httpd-2.2.2.tar.bz2) = 4851887
MD5 (apache22/apr_dbd_mysql.c) = 59d26a91cb7f1492fea9ab3e6cd054fc
SHA256 (apache22/apr_dbd_mysql.c) = db204a0e9a89620bf890985383b637d201b418002a0976a2476c0c58783cc3a3
SIZE (apache22/apr_dbd_mysql.c) = 18999

対応早。< ports

ぼちぼち、入れてみるか。
308
(1): root▲ ★ 2006/05/02(火) 11:59:02 ID:???0 BE AAS
./srclib/apr/dso/unix/dso.c と
./server/mpm/worker/fdqueue.c へのパッチは、
そのまま必要がありそうですね(変わっていない)。

食事の後ででも、ごにょごにょと。
309: root▲ ★ 2006/05/02(火) 13:39:02 ID:???0 BE AAS
live22 を Apache 2.2.2 + >>308 のパッチに更新した。
310
(1): root▲ ★ 2006/05/02(火) 16:47:50 ID:???0 BE AAS
電源ですが、各方面からの情報により以下のことがわかりました。

1) 現在、以下のサーバが同じ主幹(MasterSwitch)からとられている。

live22, live22x1, live22x2, live22x3, live22x4, live22x5, cobra2247(= live22-2 候補),
news19, hobby7

2) この主幹の電源は現在、ほぼおなかいっぱいの状態である。

3) live22x4, live22x5, cobra2247 は現在遊んでいる。
フル稼働させるには、電源系統のリアレンジが必要と考えられる。

4) XOロケーションには、余裕のある主幹が別にある。
311: root▲ ★ 2006/05/02(火) 16:50:52 ID:???0 BE AAS
で、最初は、news19 と hobby7 の XO 外への移設を考えていました。

しかし、今後これらのサーバもかなり近い近未来に雪だるまの一員になることが
じゅうぶんありうるのかなと、思いました。

ということで現在サービスインしていない 3) のサーバ3台を、
4) の主幹に移動するのが、いちばんよい気がしてきました。

問題なければ、この路線で Jim さんと Ryan さん(現地電源関係担当)に、
相談してみようかなと。
312
(1): ◆FUGOUFZVvA 2006/05/02(火) 18:42:21 ID:nbzYhXHXP(1/2)調 AAS
これは、ひどいと思う。2chスレ:hosting
313
(1): root▲ ★ 2006/05/02(火) 18:48:44 ID:???0 BE AAS
pid 92982 (httpd), uid 2001: exited on signal 10
pid 92988 (httpd), uid 2001: exited on signal 10
pid 92987 (httpd), uid 2001: exited on signal 10
pid 92992 (httpd), uid 2001: exited on signal 10
pid 92984 (httpd), uid 2001: exited on signal 10
pid 94520 (httpd), uid 2001: exited on signal 10
pid 23880 (httpd), uid 2001: exited on signal 10
pid 92983 (httpd), uid 2001: exited on signal 10
pid 92986 (httpd), uid 2001: exited on signal 10
pid 92989 (httpd), uid 2001: exited on signal 10
pid 92990 (httpd), uid 2001: exited on signal 10
pid 23822 (httpd), uid 2001: exited on signal 10
pid 23763 (httpd), uid 2001: exited on signal 10
pid 92994 (httpd), uid 2001: exited on signal 10
pid 12481 (httpd), uid 2001: exited on signal 10
pid 92995 (httpd), uid 2001: exited on signal 10
pid 24104 (httpd), uid 2001: exited on signal 10
pid 92980 (httpd), uid 2001: exited on signal 10

いつもの現象か。
Apache 2.2.2 + patch でも、発生すると。
314: root▲ ★ 2006/05/02(火) 18:51:13 ID:???0 BE AAS
>>312
ここのスレでの話題ではないので、
sec2chd 方面でたんたんと報告していただければと。
315
(1): 動け動けウゴウゴ2ちゃんねる 2006/05/02(火) 18:53:49 ID:gD/Ndbla0(1/2)調 AAS
>>313
corefileも、やっぱり同じ感じで役に立たないですか?
316
(1): root▲ ★ 2006/05/02(火) 18:56:41 ID:???0 BE AAS
>>315
状況は全く同じですね。
まだ core 一つしか調べてないですが。

今の方針は明確に「勝ちに行く」なので、
修正が入っているはずの、最新の OS にバージョンアップをする予定。
ゴールデンウィーク明けまでに 6.1R が出ない場合、
6.1-RC2 でいこうと。
317
(1): 動け動けウゴウゴ2ちゃんねる 2006/05/02(火) 19:01:01 ID:gD/Ndbla0(2/2)調 AAS
>>316
なるほど。
ちなみに、gdb で in kill 状態のスレッドで
info frame
info registers
したら、どんな感じなんでしょう?
318: ◆FUGOUFZVvA 2006/05/02(火) 19:16:34 ID:nbzYhXHXP(2/2)調 AAS
了解しました
319
(1): モーマン☆鯛。 2006/05/02(火) 20:08:27 ID:BKSQN1/Z0(1)調 BE AA×
>>310

320
(1): root▲ ★ 2006/05/02(火) 22:38:10 ID:???0 BE AAS
>>319
> 電源について,主幹と有りますが,そう呼んでしまうとトランス2次側からの電源が別系統で と
> 受け取ってしまいます。

すみませんです。
私の電気屋的知識は、所詮門前のなんたら。

> 要は「分電盤のブレーカーに空きがある」ということで良いのかしら?

です。

> という具合に3系統に分けられると,フロントが落ちた時以外は冗長化が容易では無いかと。

なるほどです。
ただまだ全貌を掌握しているわけではないので、
まずは一歩ずつ進めていこうかなと。
321
(2): root▲ ★ 2006/05/02(火) 22:44:54 ID:???0 BE AAS
>>317
(gdb) thread 73
[Switching to thread 73 (Thread 0x81d5e00 (LWP 101639))]#0 0x2828b4b3 in kill
() from /lib/libc.so.6
(gdb) info frame
Stack level 0, frame at 0xbc0c5a40:
eip = 0x2828b4b3 in kill; saved eip Cannot access memory at address 0xbc0c5a3c
(gdb) info registers
eax 0x0 0
ecx 0xc3ae7fec -1011974164
edx 0xf7f5 63477
ebx 0xa 10
esp 0xbc0c5a3c 0xbc0c5a3c
ebp 0xbc0c5a58 0xbc0c5a58
esi 0x285c5000 677138432
edi 0x3c9 969
eip 0x2828b4b3 0x2828b4b3
eflags 0x200296 2097814
cs 0x33 51
ss 0x3b 59
ds 0x3b 59
es 0x3b 59
fs 0x3b 59
gs 0x1b 27
322
(3): root▲ ★ 2006/05/02(火) 22:46:45 ID:???0 BE AAS
(gdb) thread 14
[Switching to thread 14 (Thread 0x8249900 (LWP 100922))]#0 0x2828b4b3 in kill
() from /lib/libc.so.6
(gdb) where
#0 0x2828b4b3 in kill () from /lib/libc.so.6
Cannot access memory at address 0xb858aa3c
(gdb) info frame
Stack level 0, frame at 0xb858aa40:
eip = 0x2828b4b3 in kill; saved eip Cannot access memory at address 0xb858aa3c
(gdb) info registers
eax 0x0 0
ecx 0xab590bbd -1420227651
edx 0xf7f5 63477
ebx 0xa 10
esp 0xb858aa3c 0xb858aa3c
ebp 0xb858aa58 0xb858aa58
esi 0x285b2000 677060608
edi 0xa7 167
eip 0x2828b4b3 0x2828b4b3
eflags 0x200296 2097814
cs 0x33 51
ss 0x3b 59
ds 0x3b 59
es 0x3b 59
fs 0x3b 59
gs 0x1b 27
323
(1): root▲ ★ 2006/05/02(火) 22:47:44 ID:???0 BE AAS
とりあえず、二つ分。
324: モーマン☆鯛。 2006/05/03(水) 02:05:49 ID:mXyjWaNd0(1)調 BE AAS
>>320
> ただまだ全貌を掌握しているわけではないので、
> まずは一歩ずつ進めていこうかなと。
あいあい。いまはそれで。
325
(6): 動け動けウゴウゴ2ちゃんねる 2006/05/03(水) 04:45:06 ID:qpNDFpsT0(1/3)調 AAS
>>321-323
情報どうもです。
ちょっとだけ光が見えてきたような気がします。

こうなるとVMのマップ状態が知りたくなってくるんですが、
/usr/ports/sysutils/procmap を使用して、現在稼働中のhttpdのマップ状態を
見ることは可能でしょうか?
なお、procmapはprocfsを必要としますので、現在mountしてないのでしたら、
一時的にでもmountする必要があります。

あと、kern.dflssiz, kern.maxssiz, kern.sgrowsiz等は設定されてますでしょうか?
また、Apacheの設定でThreadStackSizeは設定されてますでしょうか?
326
(4): 動け動けウゴウゴ2ちゃんねる 2006/05/03(水) 11:48:39 ID:qpNDFpsT0(2/3)調 AAS
あと、>>321-322 のcoreについて、以下の方法でトレース可能か試してみてください。

>>321について、ebpが0xbc0c5a58なので、そこからebpの流れを追ってみる。
(gdb) p/x *0xbc0c5a58
$1 = 0xXXXXXXXX
(gdb) p/x *0xXXXXXXXX <- 上記で表示されたアドレスを入力
$2 = 0xYYYYYYYY
(gdb) p/x *0xYYYYYYYY <- 上記で表示されたアドレスを入力
...
これを10回程度繰り返す。
327
(3): 動け動けウゴウゴ2ちゃんねる 2006/05/03(水) 11:53:27 ID:qpNDFpsT0(3/3)調 AAS
次に、>>326の結果を利用して、関数呼び出しの流れが取得可能か試す。

(gdb) p/a *(0xbc0c5a58 + 4)
$11 = ...
(gdb) p/a *(0xXXXXXXXX + 4)
$12 = ...
(gdb) p/a *(0xYYYYYYYY + 4)
...

うまくいけば、関数名が表示されると思います。
328
(1): root▲ ★ 2006/05/03(水) 12:19:26 ID:???0 BE AAS
tiger503, tiger507 and cobra2247 の3台は本日電源系統移動作業の予定。
さきほど私のほうで halt -p を実行し、作業可能を伝えました。

>>325
ありがとうございます。
本日中にやってみるです。 < procmap

> あと、kern.dflssiz, kern.maxssiz, kern.sgrowsiz等は設定されてますでしょうか?
> また、Apacheの設定でThreadStackSizeは設定されてますでしょうか?

このへんはデフォルトのままです。
というか、スタックオーバーフローの疑いですか。

>>325-327
これも別途やってみるです。
329: P211018235141.ppp.prin.ne.jp 2006/05/03(水) 18:57:25 ID:IAaJAFY00(1)調 AAS
外からですが、
見ていると、プロセスあたりのスレッド数が32の時のほうが、パフォーマンスは出るような感じですね。

でもそれだと、虫を踏んだ時にLAがめちゃくちゃ上がって、瀕死状態になってしまうと。
330: root▲ ★ 2006/05/04(木) 00:55:46 ID:???0 BE AAS
まずは。

live22、signal 10 でのダウン(虫ふみ)多数。
別途解析すすめる予定。

live22, live22x1 は重くなった局面あり。
プライベート接続側の受信バッファがあふれた模様。

May 3 02:30:34 <0.4> tiger2522 kernel: em1: RX overrun
May 3 02:47:17 <0.4> tiger2522 kernel: em1: RX overrun
May 3 05:04:32 <0.4> tiger2522 kernel: em1: RX overrun

May 3 05:00:00 <0.4> tiger2523 kernel: em1: RX overrun
May 3 05:00:00 <0.4> tiger2523 last message repeated 2 times

live22x2 特に異常なし。

live22x3 リブートかかった模様、原因不明(メッセージなし)。
それとは別にこんなメッセージが。
やや不吉なるも、とりあえず経過観察。

May 3 08:49:50 <0.2> tiger2525 kernel: ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=94099079
331: root▲ ★ 2006/05/04(木) 00:59:08 ID:???0 BE AAS
ex14は大きな破綻なしか。
cobra、強いなぁ。
332: root▲ ★ 2006/05/04(木) 01:04:09 ID:???0 BE AAS
live22x3、また変なリブート入った。
おかしいな。
333: root▲ ★ 2006/05/04(木) 01:09:46 ID:???0 BE AAS
live22x3 は、ログインして状況確認中。

メールチェックしてきます。
作業終わっているといいな。
334: root▲ ★ 2006/05/04(木) 01:12:16 ID:???0 BE AAS
live22x3、いけませんね。

受付嬢の設定変えて、フロントエンドからはずします。
335: root▲ ★ 2006/05/04(木) 01:18:07 ID:???0 BE AAS
live22x3 は、ハードウェアトラブルっぽいですね。
いろいろ手配します。

matd の設定いじって、とりあえずフロントエンドからはずしました。
336: root▲ ★ 2006/05/04(木) 01:21:59 ID:???0 BE AAS
live22x4, live22x5, cobra2247(= live22-2 予定)
電源移設作業完了したとの連絡が入りました。

ということで、雪だるま作戦本格再開です。
OSバージョンアップ、設定仕込み等、たんたんとすすめるということで。
337: root▲ ★ 2006/05/04(木) 01:44:53 ID:???0 BE AAS
tiger2525(= live22x3)、remote KVM でチェックしました。
HDD コントローラからエラー出まくり。
HDD or HDD コントローラがあぼーんした模様。

tiger503/507/cobra2247 の作業ありがとうメールに、
tiger2525 の緊急対応を依頼しました。

# ちなみに、tiger2525 はフロントの1台なので、
# 仮に HDD 完全あぼーんでも、交換して OS 入れれば問題なし。
338: root▲ ★ 2006/05/04(木) 02:51:54 ID:???0 BE AAS
tiger2525 (= live22x3) は、HDD あぼーんとのこと。
HDD 交換・OS 再インストールで中の人と調整中。
339: root▲ ★ 2006/05/04(木) 04:19:44 ID:???0 BE AAS
もののけ姫までに、

・live22x3 復活 & フロントに再投入
・live22x4, live22x5, live22-2 投入 with FreeBSD 6.1-RC2 or 6.1R
・live22, live22x[12] OS バージョンアップ + Apache 更新

をめざすことにしよう。
340: root▲ ★ 2006/05/04(木) 04:31:13 ID:???0 BE AAS
>>325-327 は、ちと予想外の障害対応のため、明日にでも。
(core は保存しました)

今日は、そろそろこのへんで。
341: root▲ ★ 2006/05/04(木) 16:52:48 ID:???0 BE AAS
過去ログ(NFS経由)を、すいているlive22のパブリック側で
アクセスするようにしてみた。
342: root▲ ★ 2006/05/04(木) 17:44:32 ID:???0 BE AAS
live22x4, live22x5 をフロントに再投入。

・OS は 6.1-RC2
%uname -a
FreeBSD tiger507.maido3.com 6.1-RC2 FreeBSD 6.1-RC2 #0: Wed May 3 23:09:45 PDT 2006 root@tiger507.maido3.com:/var/src/sys/i386/compile/I386_TIGER_61 i386

・Apache 2.2.2 + patch + worker MPM + libthr

・カーネルパッチ(FD_SETSIZE) とりあえず導入せず

・PREEMPTION とりあえず有効
343: root▲ ★ 2006/05/04(木) 17:49:52 ID:???0 BE AAS
以降の予定

cobra2247 稼動
フロントエンドを切り替えつつ、バージョンアップ
バックエンドバージョンアップ(この際にはサービス停止)
344: root▲ ★ 2006/05/05(金) 00:31:20 ID:???0 BE AAS
cobra2247、バージョンアップの準備していたら
いきなりハングアップした。

KVM 画面もフリーズしている模様。ううむ。
345: root▲ ★ 2006/05/05(金) 00:36:27 ID:???0 BE AAS
見たところ、カーネルパニックしている模様。
ううむ。

ちょっと、しらべてみます。
346: root▲ ★ 2006/05/05(金) 00:38:20 ID:???0 BE AAS
savecore: reboot after panic: spin lock held too long

ううむ、これって。
347
(1): root▲ ★ 2006/05/05(金) 00:43:25 ID:???0 BE AAS
いったん single CPU の kernel に替えてみるか。
なんだかだけど。
348
(1): ◆BFzK/mtqM2 2006/05/05(金) 00:49:56 ID:qTv6eOEO0(1/2)調 AAS
>>347
まだソースがガシガシ更新されているから虫がいるんですかね?
349: root▲ ★ 2006/05/05(金) 00:54:57 ID:???0 BE AAS
>>348
まだ 6.0R のままなんですよ。< cobra2247
make buildworld の間に panic したという。

ほぼ同じハードウェア構成で 6.0R な ex14 はちゃんと動いているので、
ハードウェア障害の予感も。
350: root▲ ★ 2006/05/05(金) 00:57:11 ID:???0 BE AAS
カーネル作っている間にまた固まった、、、。 < cobra2247
351
(1): ◆BFzK/mtqM2 2006/05/05(金) 00:59:00 ID:qTv6eOEO0(2/2)調 AAS
メモリかな?
352: root▲ ★ 2006/05/05(金) 00:59:51 ID:???0 BE AAS
しばらく待ってだめなら、リブート要請を再度出すということで。
(さっき一度出したのですが、その後ちゃんとパニックしてくれたので
いったんキャンセルした)
353: root▲ ★ 2006/05/05(金) 01:00:58 ID:???0 BE AAS
>>351
ありえますが、、、。どうなんだろう。
354: root▲ ★ 2006/05/05(金) 01:06:29 ID:???0 BE AAS
だめなようですね。

リブート要請します。< cobra2247
355
(2): root▲ ★ 2006/05/05(金) 02:35:24 ID:???0 BE AAS
>>325
> あと、kern.dflssiz, kern.maxssiz, kern.sgrowsiz等は設定されてますでしょうか?
> また、Apacheの設定でThreadStackSizeは設定されてますでしょうか?

外部リンク[html]:httpd.apache.org

スタックオーバー風呂ということなら、
大きくする、という手はあるのかも。
356: root▲ ★ 2006/05/05(金) 02:35:57 ID:???0 BE AAS
>>355
ありゃ、変な変換。

ま、いっか。もちょっとしたらお風呂の時間で。
357
(3): root▲ ★ 2006/05/05(金) 03:21:47 ID:???0 BE AAS
<IfModule mpm_worker_module>
ThreadStackSize 262144
StartServers 64
ServerLimit 64
ThreadLimit 32
ThreadsPerChild 32
MaxSpareThreads 2048
MinSpareThreads 2048
MaxSpareThreads 2048
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

にしてみた。< live22

前に read.cgi のことをやった時に、確か SunOS さんが
65536 がデフォルトって言っていたっぽいような気がするので、
とりあえずスタックサイズを4倍にしてみたつもり。
358: root▲ ★ 2006/05/05(金) 03:27:19 ID:???0 BE AAS
%uname -a
FreeBSD tiger2524.maido3.com 6.1-RC2 FreeBSD 6.1-RC2 #0: Thu May 4 10:04:11 PDT 2006 root@tiger2524.maido3.com:/home/src/sys/i386/compile/I386_TINYTIGER_61 i386

@ live22x2
359
(1): 動け動けウゴウゴ2ちゃんねる 2006/05/05(金) 03:33:44 ID:b3qevcS80(1/10)調 AAS
>>357
FreeBSD 6.x のデフォルトのスレッドスタックサイズは1MBです。
360
(1): root▲ ★ 2006/05/05(金) 03:40:32 ID:???0 BE AAS
>>355 >>357
リンク先を読んでみると、

スレッドスタックサイズのデフォルト値が比較的小さく設定されている プラットホーム
(例えば HP-UX) では、自動変数用の領域で大きな容量を 使用するサードパーティ製
モジュールのために Apache がクラッシュする 場合もあります。そのモジュールは他の
プラットホームでは スタックサイズが大きいために、快調に動作するかもしれません。
このタイプのクラッシュは、ThreadStackSize で OS のデフォルト値より大きな値を指定
することで解決します。 サードパーティ製モジュールでこの処置が必要であると記載
されている 場合か、Apache の出力するメッセージでスレッドスタックサイズが
小さすぎると指摘されている場合にのみ、この調整をしてください。

デフォルトスレッドスタックサイズが、Web サーバ用途に必要な量よりも 明らかに
大きすぎる場合、ThreadStackSize を OS のデフォルト値よりも小さな値にすることで、
子プロセスあたりの スレッド数をより多く持たせられるようになります。 このタイプの
調整は、テスト環境でウェブサーバを完全に テストできる場合に限って行なうべきです。
まれに多数のスタックが要求されるリクエストを受けることがあるかも しれないからです。
Web サーバの設定を変更すると、現在の ThreadStackSize の設定が取り消される
場合があります。

…ううむ、大きくするのがよいのか、小さくするのがよいのか。
あるいは実はあまり効果がないのか。

とりあえず、今は >>357 にしておくか。
361
(1): root▲ ★ 2006/05/05(金) 03:41:15 ID:???0 BE AAS
>>359
1000000 かな。それとも 1048576 ?
1-
あと 640 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.037s