Archive for 6月, 2010

サーバが落ちてました

6月 17th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 戯言

一昨昨日くらいにサーバ(このマシン)に繋がらなくなったため、原因を調べたところ、無線LANルータの電源が抜けているのを見つけて復旧。

昨日の夜に、またサーバがつながらなくなってて、無線LAN関係を再起動させたのだが、復旧せず。

今朝方、サーバルーム(世間ではお手洗いやトイレとか様々なエイリアスで呼ばれてる)のサーバラック(トイレットペーパーとかを置く棚)からサーバ本体を確認・・・ちゃんと動いてる。

サーバから直接デフォルトゲートウェイにpingを叩くと、アンリーチャブルとエラーが出てた。

よくよく見ると、Swichの電源が落ちてる。ACアダプタが抜けかかかってる?と思い、挿し直すも電源入らず。

ACアダプタのコンセント側を触ると異常発熱しとる!ので、慌てて引っこ抜く。危うく火事起こす所だった。

サーバルームにはファイルサーバも置いてあるが、こちらも障害発生しており停止中なため、当面Swichはいなくても問題ないため、サーバは無線LANコンバータと直接つないで復旧させた。

lighttpdの困った挙動

6月 14th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 技術メモ

Webサーバをapacheからlighttpdに移行する過程で、httpでリクエストしたコンフィグファイルがちゃんと読めなくなっていた。

なんでかと思って、WireSharkで拾ってみたところ、Content Typeがapacheでは「text/plain」となっていたところが、lighttpdでは「application/octet-stream」となっており、おまけにおしりに改行コードが追加されていた。

lighttpdは軽量化のため、拡張子でContent Typeを判断しており、コンフィグファイルを独自の拡張子を使用したため、デフォルトで上記のような挙動となったらしい。

lighttpd.confのmimetype.assignをいじれば良いことがわかり修正。
ついでに改行コードの付加程度では動作に影響しないように、コンフィグファイルのReaderの修正もした。

Tags: ,

第二回まつだ家「酒を楽しみ酒を口利(口へんに利)く」

6月 11th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 食欲

先週、お世話になっているまつだ家で、日本酒の会行ってきました。

今回も美味しいご飯と格別のお酒を用意していただき、ウマーでございましたw。

見所は生の本マグロの解体、18kgと小ぶりだったけど、トロウマー。

きき酒は残念ながら2回とも失敗。同行した友人が完全正解してた。よくアレだけ飲んで味がわかるなぁとwww

お気に入りはNINEの火入れかな。他の特別なお酒みたいに際立ってはないけど、何の料理にも合うバランスのいいお酒だった。ぬる燗にしてうまい料理と一緒にじっくりやりたいところ。

あと、締めのあら汁が最高。味噌仕立てなのだが、一ノ蔵と澤乃井の酒粕をブレンドしており、なんともいえない深みがあって、腹一杯にも関わらずお代わりしてしまった。

満たされた・・・

(続きを読む…)

Tags: ,

Flash8相当のswfのXMLファイルの文字コード

6月 9th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 技術メモ

Flash8のswfでXMLクラスを用いたUTF-8のXMLファイルはBOM(0xEF, 0xBB, 0xBF)を付けないと読んでくれない。

WindowsではShiftJISを使ってXMLを出していたが、Linuxを使うにあたり、 UTF-8に移植する際に発覚。

こんな感じでBOMをつけるようにした。


static const char BOM[3] = {0xEF, 0xBB, 0xBF};

fstream strm("hoge.xml", std::ios::out);

strm.write(BOM, sizeof(BOM));

strm << "XMLデータ" << endl;

strm.close();

Tags: , ,

SQLite3 strftime関数とsyslog出力の組み合わせで、gccの最適化どハマリ

6月 8th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 技術メモ

これと似たような問題だったのだが、strftimeを使用したSQLをデバッグのためSYSLOGで出力したところ、gccの-O0では何も問題なく出力されるのだが、-O1以上の最適化をかけるとセグメンテーション違反で落ちた。

環境は以下。

  • gcc 4.3.2
  • SQLite 3.5.9
  • rsyslogd 3.18.6

以下のようなコードで発生。


char *sql = sqlite3_mprintf("SELECT strftime(\'%%s\', \'now\');");

syslog(LOG_DEBUG, sql);

sqlite3_free(sql);

どうやら原因はsyslog関数の中でvfprintfを行っており、エスケープした%sを再評価して存在しない可変引数を参照して落ちてるらしい。

最適化させないと、うまいことメモリ空間かレジスタを初期化して変なところに飛ばないようにしてくれてるんだと思われ。詳細は追わず。

仕方が無いので、エスケープしなおすのも面倒だから、strftimeを使用したSQLはデバッグ出力しないようにした。

Tags: , , ,

Windows MySQLのrootパスワード忘れ

6月 1st, 2010 by KUMA | コメントは受け付けていません。 | Filed in 技術メモ

しばらく使ってない実験用のサーバーでrootのパスワード忘れて大変な目にあったのでメモ

こちらを参考にさせていただいた。ありがとうございます。

消えると困るので例のごとく勝手ながらバックアップ

(続きを読む…)

Tags: ,