[PHP-users 6813] Re: PHP4.2.0RC2 のバグ?( mb_output_handler とxslt_process )
Rui Hirokawa
php-users@php.gr.jp
Thu, 11 Apr 2002 00:43:48 +0900
廣川です。
CGI版でためしてみましたが、
私のところでも mb_output_handlerがらみでコアダンプしました。
Vine 2.1.5
Linux 2.2.19
glibc 2.1.3
PHP 4.2.0RC (from CVS) CGI
#0 0x2ac9cbc7 in strlen (str=0x0) at ../sysdeps/i386/strlen.c:27
#1 0x0806f472 in zif_mb_output_handler (ht=2, return_value=0x81eb1ac,
this_ptr=0x0, return_value_used=1) at mbstring.c:1479
#2 0x081004f2 in call_user_function_ex (function_table=0x81ac7f0,
object_pp=0x0, function_name=0x81afb6c, retval_ptr_ptr=0x7ffff4d4,
param_count=2, params=0x7ffff488, no_separation=1, symbol_table=0x0)
at zend_execute_API.c:532
#3 0x0806a90c in php_end_ob_buffer (send_buffer=1 '\001', just_flush=0 '\000')
at output.c:175
#4 0x0806ac5f in php_end_ob_buffers (send_buffer=1 '\001') at output.c:264
#5 0x08062ed8 in php_request_shutdown (dummy=0x0) at main.c:763
#6 0x08061a11 in main (argc=3, argv=0x7ffffad4) at cgi_main.c:834
#7 0x2ac5698b in __libc_start_main (main=0x8060f3c <main>, argc=3,
argv=0x7ffffad4, init=0x805f948 <_init>, fini=0x81469ec <_fini>,
rtld_fini=0x2aab5ea0 <_dl_fini>, stack_end=0x7ffffacc)
at ../sysdeps/generic/libc-start.c:92
平日はあまり時間がとれませんが、
週末にもう少し詳しくおってみようと思います。
On Wed, 10 Apr 2002 12:06:46 +0900
Yasuo Ohgaki <yohgaki@yahoo.co.jp> wrote:
> 大垣です。
>
> 私の環境では何故か再現しないのでどうしようもありません。。
> # 廣川さんの環境では再現しませんか?
>
> SHIMOOKA Hideyuki wrote:
> > 下岡です。
> >
> > 大垣さん、ありがとうございます。
> > 昨日試した結果をご報告します。
> >
> > ---- Yasuo Ohgakiさん曰く...
> >
> >
> >>ソースを全く見ていないので変換後のファイルを添付
> >>しておきます。
> >
> >
> > 確かに期待している出力ですね。
> >
> >
> >
> >>1) PHP 4.2.0-dev (CVS)版を試す。
> >>2) Sablotronのバージョンを0.82にする。
> >
> >
> > 以下の組み合わせで試してみましたが、backtraceの結果は同じ
> > (zif_mb_output_handlerでthis_ptr=0x0)となってしまいま
> > した。
> >
> > ・PHP4.2.0-RC2+Sablotron0.90
> > ・PHP4.3.0-dev(annnonymous cvsでソースをcheckout php4)+
> > Sablotron0.90
>
> 0.90も大丈夫と思いますが、私の記憶が正しければPHP 4.2.0のxsltモ
> ジュールは0.8x対応と言う事らしいので、0.8xのSablotronも試して見
> てはどうでしょうか?(私は0.82を使いました)
>
> > また、PHPのconfigureオプションとして、
> >
> > --with-apxs=/usr/local/apache/bin/apxs \
> > --enable-xslt \
> > --with-xslt-sablot=/usr/local \
> > --with-expat-dir=/usr/local \
> > --enable-mbstring \
> > --enable-mbstr-enc-trans \
> > --enable-debug
> >
> > のみとしてみましたが、同様の結果でした。
>
> 困りましたね。他のモジュールのせいかもと言いたかったところですが、、、
>
> >
> > ちなみに、
> >
> > ・RedHat7.2(製品版)
> > ・PHP4.2.0-RC2
> > ・expat1.95.2(ソースからconfigure、make install)
> > ・Sablotron0.90(ソースからconfigure、make install)
> >
> > を上のconfigureオプションでインストールして実行じてみると、
> > 同じくSegmentation faultが発生しましたが、backtraceは以下の
> > ようになりました。
> >
> > ----ここから
> >
> > # gdb /usr/local/apache/bin/httpd
> > GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
> > Copyright 2001 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB. Type "show warranty" for details.
> > This GDB was configured as "i386-redhat-linux"...
> > (gdb) run -X
> > Starting program: /usr/local/apache/bin/httpd -X
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x4010fc71 in strlen () from /lib/i686/libc.so.6
> > (gdb) bt
> > #0 0x4010fc71 in strlen () from /lib/i686/libc.so.6
> > #1 0x405c2a84 in zif_mb_output_handler (ht=2, return_value=0x80fb124,
> > this_ptr=0x0, return_value_used=1) at mbstring.c:1479
> > #2 0x4057eceb in call_user_function_ex (function_table=0x80c3478,
> > object_pp=0x0, function_name=0x80e8ae4, retval_ptr_ptr=0xbfffee40,
> > param_count=2, params=0xbfffede8, no_separation=1, symbol_table=0x0)
> > at zend_execute_API.c:532
> > #3 0x405a4e40 in php_end_ob_buffer (send_buffer=1 '\001', just_flush=0 '\000')
> > at output.c:175
> > #4 0x405a5273 in php_end_ob_buffers (send_buffer=1 '\001') at output.c:264
> > #5 0x4059a33a in php_request_shutdown (dummy=0x0) at main.c:763
> > #6 0x405966d6 in apache_php_module_main (r=0x80e2ac4, display_source_mode=0)
> > at sapi_apache.c:96
> > #7 0x405974cc in send_php (r=0x80e2ac4, display_source_mode=0,
> > filename=0x80e35fc "/home/shimooka/public_html/xslt_process3.php")
> > at mod_php4.c:575
> > #8 0x40597539 in send_parsed_php (r=0x80e2ac4) at mod_php4.c:590
> > #9 0x08053cd7 in ap_invoke_handler () at eval.c:41
> > #10 0x08068557 in process_request_internal () at eval.c:41
> > #11 0x080685b8 in ap_process_request () at eval.c:41
> > #12 0x0805f80d in child_main () at eval.c:41
> > #13 0x0805f9b8 in make_child () at eval.c:41
> > #14 0x0805fb2c in startup_children () at eval.c:41
> > #15 0x080601a4 in standalone_main () at eval.c:41
> > #16 0x080609f7 in main () at eval.c:41
> > ---Type <return> to continue, or q <return> to quit---
> > #17 0x400a5507 in __libc_start_main (main=0x8060660 <main>, argc=2,
> > ubp_av=0xbffff844, init=0x804e270 <_init>, fini=0x807db40 <_fini>,
> > rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffff83c)
> > at ../sysdeps/generic/libc-start.c:129
> > (gdb)
> >
> > ----ここまで
> >
>
> 忙しいので、自分で再現する状況を試行錯誤する事ができません。。。
>
> --
> Yasuo Ohgaki
>
>
>
>
>
>
>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
--
-----------------------------------------------------
Rui Hirokawa <rui_hirokawa@ybb.ne.jp>
<hirokawa@php.net>