Dec 28

從幾個禮拜前我就在我的 BBS 個人板叫過, 我的 Apache 啟動後過不了多久就會狂噴這種訊息到 error log 裡 :

[warn] (32)Broken pipe: write pipe_of_death

而且 child process 的數量只會一直增加, 不會減少. :neutral:
如果我沒記錯的話, 這串訊息出現在我把 2.0.54 換成 2.0.55 以後.
所以當時我是決定把 2.0.55 換成 2.2 .
很不幸的, 狀況並沒有變動, 訊息仍然存在.
我一直以為是 Apache 的問題, 直到我在昨天看到 這篇 才恍然大悟. :shock:

很明顯的, 罪魁禍首是 eAccelerator , 問題出在 debug.c 這支程式的這段:

void ea_debug_shutdown ()
{
    fflush (F_fp);
    fclose (F_fp);
    F_fp = NULL;
}

fclose (F_fp); 換成 if (F_fp != stderr) fclose (F_fp); , 重新 compile & install 就沒事了.

如果是用 FreeBSD 的 ports 安裝的人可以把 這個 patch 檔 抓回去放在 /usr/ports/www/eaccelerator/files 底下, 然後用 portupgrade -f 或重裝一遍就可以解決.

話說回來, 這種 bug 還真是讓人無言以對啊........... :wink:

Technorati Tags: ,

Related posts:
  1. [Benchmark] eAccelerator v.s. APC on PHP 5.3
  2. eAccelerator 與 turck-mmcache
  3. Live 8 !
  4. [筆記] 最近製作/修改 FreeBSD ports 的一些心得
  5. 擋盜連... :p
(Visited 5861 times)

2 Responses to “詭異的 eAccelerator”

  1. 抓~ 抓到一隻瞌睡蟲 » Blog Archive » eAccelerator 大爆炸 Says:

    [...] , 於是找到了這裡: 詭異的 eAccelerator [...]


    From Taiwan Taiwan
    Using WordPress WordPress 2.0
  2. [FreeBSD] Apache, MySQL, PHP - eDay Says:

    joehorn.idv.tw[...] 直接安裝可能會有點問題(0.9.5,之後有修正了),詳細請參考 這篇,下面是修正的辦法:# cd file # wget http://www.joehorn.idv.tw/download/patch-debug.c # [...]


    From Hong Kong Hong Kong
    Using Netscape Navigator Netscape Navigator 4.0