まだmemcached-1.2.5-repcached-2.0 やってます
先日来repcachedを使おうとして、現状、まだハマってます。
repcachedのインストールはできて、起動もするようになったので、
参照:http://lab.klab.org/modules/mediawiki/index.php/Repcachedhttp://d.hatena.ne.jp/shimooka/20080412/1208011822 の追試するべえというところで、手元のサーバがちゃんとpeclできる状態にしてなかったので、そこからやることに。
試行錯誤の末、だいたいやったことは以下のよう。
まず、peclしようとしたらphpizeが無いってことだったので
$ sudo yum -y install php-devel
で、おもむろにmemcachedのアクセスライブラリをインストール
$ sudo pecl install memcache-beta
この後、php.iniに extension=memcache.so を追加してhttpdを再起動(reloadでよかったっけ?)
さて、ではmemcachedを起動するか、、というところで問題発生。
- 鯖1 : Fedora Core 5 Linux でカーネル 2.6.15-1.2054_FC5 i686 i686 i386 GNU/Linux
- 鯖2 : Dom-U の CentOS 5 Linux で 2.6.18-53.1.14.el5xen #1 SMP Wed Mar 5 12:39:19 EST 2008 i686 i686 i386 GNU/Linux
だったのだが、このうちCentOS5ではmemcached(repcached)を立ち上げてport 11211に接続するとsegmentation faultで落ちてしまう。FC5の方は問題なく動く。
とりあえずgdbでつなげてみた
$ gdb memcached GNU gdb Red Hat Linux (6.5-25.el5_1.1rh) (著作権表示略) (gdb) run Starting program: /usr/local/bin/memcached (他所からport 11211へtelnetしてみると....) Program received signal SIGSEGV, Segmentation fault. 0x0805002d in event_handler (fd=10, which=2, arg=0x88b0012) at memcached.c:2482 2482 c->which = which;
memcached.cの当該箇所は event_handlerだが、、ここにSEGVのシグナルが来ました、って言われてもなぁ。
2476 void event_handler(const int fd, const short which, void *arg) { 2477 conn *c; 2478 2479 c = (conn *)arg; 2480 assert(c != NULL); 2481 2482 c->which = which; 2483 2484 /* sanity */ 2485 if (fd != c->sfd) { 2486 if (settings.verbose > 0) 2487 fprintf(stderr, "Catastrophic: event fd doesn't match conn fd!\n"); 2488 conn_close(c); 2489 return; 2490 } 2491 2492 drive_machine(c); 2493 2494 /* wait for next event */ 2495 return; 2496 }
で、straceしてみる。その前にデバッグオプションつけてmakeやり直すか?make testするべきか?あ、そういやそこでエラー出てたやんか!<アホすぎ
一応make testやってみた
t/00-startup.........ok 1/3getaddrinfo(): Name or service not known replication: failed to initialize replication server socket faild to replication init replication: failed to initialize replication server socket faild to replication init t/00-startup.........ok t/64bit.............. (ここでやっぱり詰まる)
FC5のほうでも make testしてみた。エラーは出たが、止まりはせず、こんな結果になった。
Failed Test Stat Wstat Total Fail Failed List of Failed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
うーん、なんだかなー。テストケースがrepcached向きじゃないってことなんすかね。