php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10064 Apache Seg Faults with XSLT and domXML usage
Submitted: 2001-03-29 14:15 UTC Modified: 2001-05-01 08:53 UTC
From: micah at auctionservices dot com Assigned:
Status: Closed Package: Sablotron XSL
PHP Version: 4.0 Latest CVS (29/03/2001) OS: Linux Mandrake 8.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: micah at auctionservices dot com
New email:
PHP Version: OS:

 

 [2001-03-29 14:15 UTC] micah at auctionservices dot com
The compile script is as follows:

./configure \
--mandir=/usr/share/man \
--with-apxs=/usr/local/apache/bin/apxs \
--with-config-file-path=/etc/httpd \
--enable-magic-quotes \
--enable-bcmath \
--enable-calendar \
--with-dom=/usr/local \
--with-zlib-dir \
--enable-ftp \
--with-mysql=/usr/local/mysql \
--with-pgsql=/usr/local/pgsql \
--with-expat-dir=/usr/local \
--with-sablot=/usr/local \
--enable-trans-sid \
--with-regex=system \
--with-swf=/usr/local/openswf \
--enable-wddx \
--enable-memory-limit \
--with-gnu-ld


The system is:
Linux Mandrake 8.0
Apache 1.3.19
glibc 2.2.2
MySQL 3.23.34a
Postgres 7.0.3
libxml 2.3.4
Sablot 0.51
expat 1.95.1

gdb backtrace:

 
Program received signal SIGSEGV, Segmentation fault.
0x403d0742 in Processor::useArg (this=0x8145840, 
name=0x8f8 <Address 0x8f8 out of bounds>, val=0x0)
    at proc.cpp:1067
1067    proc.cpp: No such file or directory.
        in proc.cpp
Current language:  auto; currently c++
(gdb) bt
#0  0x403d0742 in Processor::useArg (this=0x8145840, 
name=0x8f8 <Address 0x8f8 out of bounds>, val=0x0)
    at proc.cpp:1067
#1  0x403d12a4 in SablotRunProcessor 
(processor_=0x8145840, sheetURI=0x81358bc "test.xsl",
    inputURI=0x4032ebfc "arg:/_xmlinput", 
resultURI=0x4032ebef "arg:/_output", params=0x0, 
arguments=0xbfffdad0)
    at sablot.cpp:137
#2  0x40279d7e in php_if_xslt_output_endtransform (ht=0, 
return_value=0x8136254, this_ptr=0x0, return_value_used=0)
    at sablot.c:317
#3  0x4021c3c1 in execute (op_array=0x811d774) at 
./zend_execute.c:1494
#4  0x4022d27d in zend_execute_scripts (type=8, 
file_count=3) at zend.c:743
#5  0x40244f5c in php_execute_script 
(primary_file=0xbffff690) at main.c:1194
#6  0x402406a5 in apache_php_module_main (r=0x812ad04, 
display_source_mode=0) at sapi_apache.c:89
#7  0x4024137c in send_php (r=0x812ad04, 
display_source_mode=0,
    filename=0x812b7e4 
"/home/www/public_html/xsl/test2.php") at mod_php4.c:521
#8  0x402413c2 in send_parsed_php (r=0x812ad04) at 
mod_php4.c:532
#9  0x0805b797 in ap_invoke_handler ()
#10 0x0807029b in process_request_internal ()
#11 0x08070310 in ap_process_request ()
#12 0x080673b2 in child_main ()
#13 0x08067564 in make_child ()
#14 0x080676d8 in startup_children ()
#15 0x08067d57 in standalone_main ()
#16 0x0806858f in main ()
#17 0x400960de in __libc_start_main () from /lib/libc.so.6
(gdb)


Code that is killing it:
<?php
xslt_output_begintransform("test.xsl");

$doc = new_xmldoc("1.0");

//<books>
$books = $doc->add_root("books");

//<book>
$book = $books->new_child("book","");

// <title>
$title = $book->new_child("title","Core Java Programming");

// <authors>
$authors = $book->new_child("authors","");

//<author>
$author = $authors->new_child("author","Leon Atkinson2");
$author->set_attribute("id","1");
// <isbn>
$isbn = $book->new_child("isbn",123);
	// <isbn id="123">
	$isbn->set_attribute("id","987");
/*
######################################################################
*/
	
//<book>
$book = $books->new_child("book","");

// <title>
$title = $book->new_child("title","Flash 4 Magic");

// <authors>
$authors = $book->new_child("authors","");

//<author>
$author = $authors->new_child("author","David Emberton");
$author->set_attribute("id","1");
$author = $authors->new_child("author","J. Scott Hamlin");
$author->set_attribute("id","2");

// <isbn>
$isbn = $book->new_child("isbn",123);
	// <isbn id="123">
	$isbn->set_attribute("id","987");


echo $doc->dumpmem();

xslt_output_endtransform();
?>



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-04-01 13:28 UTC] sniper@php.net
With latest CVS (from today) I can not reproduce this.
Please try updating your CVS checkout.

--Jani

 [2001-05-01 08:53 UTC] jmoore@php.net
I cant reproduce this. No feedback and there were some slabtron fixes please try with 4.0.5

- James
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 06:01:30 2024 UTC