Contents
- さくらVPSでmoinmoinを動かす
1. tinydnsが返事をしなくなる
メモリ不足が発生していることがわかったので、softlimit -d パラメタを大きくする。(当面は2倍に)
2. tinydns 奇妙なエラー
Ubuntu 22.04LTS で発生した。(18.04, 20.04では観測されていない。)
- 観察した22.04ではすべて発生している。ファイアーウォールがらみではなさそう。
起動時には返答していた/tinydnsが返事をしなくなる現象に遭遇する。
- logの調査から始める。正常なはずのqueryを続けているうちにエラーを発生している。
- さまざまなレベルでのエラーが考えられる。さくら提供のルータ・ファイアーウォールは止めてある。
- NATなどの可能性を取り除く。
2.1. tinydns logから分かること
手元のデスクトップ(Ubuntu 22.04) で再現するか試す。再現した。
- これで 22.04に起因していると判断して、VPSでは20.04を使ってみることにした。
手元ではUFWは使っていないので、fwは関係ないようだ。-- ToshinoriMaeno 2022-09-09 12:32:04
しまった。さくらVPSでの22.04版のエラーログは再インストール時にすべて消してしまったのだ。
- 手元の22.04で再現できればいいが。
2.1.1. 最初のうちは正しく返答する
alloc.c を読めば、理由は分かる。
2.1.2. そのうち、エラーが記録される
- query が再送されてくる。
- ログにはNOQ(0000 / 0000)が記録される。
2.1.3. 一度エラーになるとエラー返答を続ける
- エラー処理の失敗(tinydnsの不良に見える。)
2.1.4. 原因の推測
query返答の長さによって、エラー発生までの問い合わせ回数が変化することまで確認した。
- これは返答用のバッファーの開放に失敗していることが推測できる。(OSインタフェースとtinydnsの両方に関係)
2.2. alloc.c malloc fail
要するにメモリ不足だ。softlimit -d パラメタ(デフォルト300KB) が小さいからだ。
2倍の600KBにしてみたら、動き続けている。これで様子を見よう。-- ToshinoriMaeno 2022-09-12 01:34:07