Powered by WordPress | Theme by mg12 | 符合 XHTML 1.1CSS 3標準
  • apache2、php4與GNU Recode…

    apache2、php4與GNU Recode這三個一起用會有問題 :Q

    前一陣子就遇到這個問題了,newsyslog每次在rotate log的時候apache都會無緣無故收到SIGABRT死掉,本來也沒有詳細再看,這陣子無聊想說來看看好了(一方面是因為有了blog所以這個問題蠻頭大的)。本來用google找只有找到舊版本的php4和pcre有問題,不過看了看說這個bug修正了啊…結果一直追一追gdb全部都給我來個??看不到是那個function出問題,火大了全部加上-g重新編一遍才看到收到SIGABRT時候的backtrace…

    (gdb) where
    #0 0×283e019f in kill () from /lib/libc.so.6
    #1 0×283d3ca6 in raise () from /lib/libc.so.6
    #2 0×284540d2 in abort () from /lib/libc.so.6
    #3 0×283ef55c in _UTF8_wcsnrtombs () from /lib/libc.so.6
    #4 0×283ef5a8 in _UTF8_wcsnrtombs () from /lib/libc.so.6
    #5 0×283f026b in _UTF8_wcsnrtombs () from /lib/libc.so.6
    #6 0×283f0842 in _UTF8_wcsnrtombs () from /lib/libc.so.6
    #7 0×283f09bf in free () from /lib/libc.so.6
    #8 0×288bc851 in my_no_flags_free () from /usr/local/lib/mysql/libmysqlclient.so.14
    #9 0×288c27a9 in delete_dynamic () from /usr/local/lib/mysql/libmysqlclient.so.14
    #10 0×288c40cc in hash_free () from /usr/local/lib/mysql/libmysqlclient.so.14
    #11 0×28b55711 in recode_delete_outer () from /usr/local/lib/librecode.so.3
    #12 0×28a26ed7 in zm_shutdown_recode (type=1, module_number=14)
    at /usr/ports/converters/php4-recode/work/php-4.3.10/ext/recode/recode.c:113
    #13 0×285b01bd in ?? () from /usr/local/libexec/apache2/libphp4.so
    #14 0×285b24ff in ?? () from /usr/local/libexec/apache2/libphp4.so
    #15 0×285b267c in ?? () from /usr/local/libexec/apache2/libphp4.so
    #16 0×285ac514 in ?? () from /usr/local/libexec/apache2/libphp4.so
    #17 0×2857b78a in ?? () from /usr/local/libexec/apache2/libphp4.so
    #18 0×2857b747 in ?? () from /usr/local/libexec/apache2/libphp4.so
    #19 0×285ca1c1 in ?? () from /usr/local/libexec/apache2/libphp4.so
    #20 0×28356edd in run_cleanups (cref=0×80a1028) at apr_pools.c:1951
    #21 0×283560fc in apr_pool_clear (pool=0×80a1018) at apr_pools.c:693
    #22 0×0806b81d in main (argc=3, argv=0xbfbfecd8) at main.c:594

    librecode?這是什麼東西…結果發現拿掉這個php extension就好了,apache可以順利graceful restart沒有問題,就順便送了個pr出去了…

    不過我也沒用到這東西,為啥把這個編進來呢…

    星期一, 一月 17th, 2005 at 11:03
  • dhchen
    星期一, 一月 17th, 2005 at 12:51 | #1

    找到問題了!!
    原來是librecode和libmysqlclient有同名function造成recode會去access到mysql的,一access就出錯了,如果有load imap extension的話也會有同樣的問題
    我應該在send-pr之前多看看www.php.net的啊~~~

留下迴響

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
回到頁首