Aapache2 multi-threaded mode 發生 coredump

今天傍晚看了一下 Apache2 的 error.log 發現有不少 coredump ,算了一下,發現一週裡面 coredump 了 330 次。

找了一下,發現 DK 大神去年有遇過這個問題,然後有寫了 patch 在 修正 mod_fastcgi 在 threading 環境下會 coredump 的 bug

FastCGI 官方目前最新的 mod_fastcgi-SNAP-0910052141.tar.gz 原始碼還沒有把 patch 收進去,所以下載新的原始碼回來之後還要把 patch 補上才行。另外由於 FastCGI 官方沒有提供 configure ,所以必須自己改 Makefile ,另外也必須先準備 Apache2 的原始碼才能進行編譯。 Debian 可以透過 apt-get 取得。

以下是我改過適合 Debian Linux 5.0.4 的 Makefile ,主要是修改了 top_dir 和 INCLUDES :

所以,原來 Fast-CGI 的 apache2 module 本身也沒有完全 thread-safe 。

備註:根據 POSIX.1-2001 以及 POSIX.1-2008 有要求 function 必須要 thread-safe ,但有例外,在 Linux Programmer’s Manual 的 Thread-safe functions 有列表。

Posted in computers

Leave a Reply

Your email address will not be published.