[PHP-users 6792] Re: PHP4.2.0RC2 のバグ?( mb_output_handler とxslt_process )

Yasuo Ohgaki php-users@php.gr.jp
Wed, 10 Apr 2002 12:06:46 +0900


大垣です。

私の環境では何故か再現しないのでどうしようもありません。。
# 廣川さんの環境では再現しませんか?

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/