#25527 [Opn->Bgs]: xslt_process causes apache segfault
| From: | sniper@php.net | Date: | Sun, 14 Sep 2003 07:11:41 +0000 |
| Subject: | #25527 [Opn->Bgs]: xslt_process causes apache segfault | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-47547@lists.php.net to get a copy of this message | ||
ID: 25527
Updated by: sniper@php.net
Reported By: suck at my-balls dot com
-Status: Open
+Status: Bogus
Bug Type: XSLT related
Operating System: OpenBSD 3.4
PHP Version: 4.3.3
New Comment:
1. Not enough info
2. Lame email address
3. It's Sablot bug.
Previous Comments:
------------------------------------------------------------------------
[2003-09-13 18:55:47] suck at my-balls dot com
Description:
------------
OpenBSD 3.4 with the stock apache. PHP 4.3.3 from the openbsd ports
tree. (./configure --with-apxs=/usr/sbin/apxs --without-mysql
--enable-xml --enable-wddx --enable-cli --with-iconv=/usr/local
--with-gettext=/usr/local --enable-dio --with-pear=/var/www/pear
--enable-bcmath --enable-session --enable-trans-sid --enable-calendar
--enable-ctype --enable-ftp --with-pcre-regex --with-posix
--enable-sockets --enable-sysvsem --enable-sysvshm --enable-yp
--with-recode=/usr/local --enable-shared --disable-static
--disable-rpath --with-config-file-path=/var/www/conf
--enable-inline-optimization --with-pic --with-openssl --with-zlib
--prefix=/usr/local --sysconfdir=/etc)
xslt and other extensions are loaded as shared objects:
extension=xslt.so
extension=domxml.so
extension=gd.so
extension=mcrypt.so
extension=mhash.so
extension=pgsql.so
extension=mysql.so
Using xslt_process from a php script causes apache to seg fault.
Reproduce code:
---------------
$this->xh = xslt_create();
$this->arguments = array();
xslt_set_encoding($this->xh, "ISO-8859-2");
-snip-
$result = @xslt_process($this->xh, $this->xml, $this->xsl, NULL,
array(), $this->arguments);
The call to xslt_process causes the seg fault. $this->xml and
$this->xsl are set to .xml and .xsl filenames.
Expected result:
----------------
I was hoping it would do what xslt_process is supposed to do, instead
of crashing apache :)
Actual result:
--------------
[Thu Sep 11 22:02:18 2003] [notice] child pid 28749 exit signal
Segmentation fault (11)
[Thu Sep 11 22:02:18 2003] [notice] child pid 21161 exit signal
Segmentation fault (11)
Program received signal SIGSEGV, Segmentation fault.
0x1c05a300 in hashTableIterNext ()
(gdb) bt
#0 0x1c05a300 in hashTableIterNext ()
#1 0x1c053d37 in XML_GetCurrentLineNumber ()
#2 0x6b1a249 in TreeConstructer::getCurrentLineNumber ()
#3 0x6b1da18 in TreeConstructer::report ()
#4 0x6b1ad32 in TreeConstructer::feedDocumentToParser ()
#5 0x6b19d48 in TreeConstructer::parseDataLineUsingGivenExpat ()
#6 0x6b1a050 in TreeConstructer::parseDataLineUsingExpat ()
#7 0x6b3def0 in Tree::parse ()
#8 0x6b21470 in Processor::addLineParse ()
#9 0x6b219a9 in Processor::readTreeFromURI ()
#10 0x6b1f5f3 in Processor::open ()
#11 0x6b26c50 in SablotRunProcessorGen ()
#12 0xb060184 in zif_xslt_process (ht=6, return_value=0x3c8a1a8c,
this_ptr=0x0, return_value_used=1) at
/usr/ports/www/php4/extensions/w-php-4.3.3-no_x11-no_bz2-no_curl-no_dba-no_dbase-no_dbx-no_filepro-no_gmp-no_imap-no_ldap-no_ncurses-no_odbc-no_pdf-no_shmop-no_snmp-no_pspell-no_sybase_ct/php-4.3.3/ext/xslt/sablot.c:590
#13 0x75b6c13 in execute ()
#14 0x75b6d8a in execute ()
#15 0x75a6596 in zend_execute_scripts ()
#16 0x757ca5f in php_execute_script ()
#17 0x75bda0e in apache_php_module_main ()
#18 0x75be5eb in send_php ()
#19 0x75be64a in send_parsed_php ()
#20 0x1c0373e4 in ap_invoke_handler ()
#21 0x1c047e2c in ap_some_auth_required ()
#22 0x1c048128 in ap_internal_redirect ()
#23 0x1c02efcf in ssl_expr_yyinput ()
#24 0x1c0373e4 in ap_invoke_handler ()
#25 0x1c047e2c in ap_some_auth_required ()
#26 0x1c047e88 in ap_process_request ()
#27 0x1c040ade in ap_child_terminate ()
#28 0x1c040cfe in ap_child_terminate ()
#29 0x1c040f88 in ap_child_terminate ()
#30 0x1c041635 in ap_child_terminate ()
#31 0x1c041b97 in main ()
---Type <return> to continue, or q <return> to quit---
#32 0x1c00ec81 in ___start ()
#33 0x1c00ebf7 in __start ()
#34 0xcfbf7f04 in ?? ()
Error accessing memory address 0x3: Invalid argument.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25527&edit=1