php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #14709 segmentation fault
Submitted: 2001-12-27 01:06 UTC Modified: 2002-01-04 19:37 UTC
From: vvo at geocities dot com Assigned:
Status: Not a bug Package: XSLT related
PHP Version: 4.1.0 OS: Linux 2.4.3-12 (Apache/1.3.20)
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: vvo at geocities dot com
New email:
PHP Version: OS:

 

 [2001-12-27 01:06 UTC] vvo at geocities dot com
[Note: PHP version is 4.1.1 -- the drop-down box has 4.1.0 as latest version]

Script:
<?
    $processor = xslt_create();

    $args = array();
    $args[ '/xml' ] = '<?xml version="1.0"?><root />';
    $args[ '/xsl' ] = '<?xml version="1.0"?><root />';

    for( $i = 0; $i < 1000; ++$i )
    {
        if( !$result = xslt_process( $processor, 'arg:/xml', 'arg:/xsl', NULL, $args ) )
        {
            echo 'failed';
        }
    }

    xslt_free( $processor );

    echo 'done';
?>


Config line:
'./configure' '--with-config-file-path=/etc' '--with-pgsql' '--with-apxs=/usr/apache/bin/apxs' '--with-xml' '--enable-xslt' '--with-xslt-sablot' '--with-mysql=no' '--with-gd' '--enable-debug'


Description:
When I visit this script, and hit refresh (several times) Apache terminates with a segmentation fault. The bug appears to be random because there are times when the script finishes without a crash.


Backtrace:
#0  __libc_free (mem=0x2) at malloc.c:3036
#1  0x0809ab8e in hashTableDestroy () at eval.c:41
#2  0x08099b4d in dtdDestroy () at eval.c:41
#3  0x0809425d in XML_ParserFree () at eval.c:41
#4  0x40370e4a in TreeConstructer::parseDataLineUsingExpat (this=0xbfffdd90, S=@0x811cff8, t=0x8130520,
    d=0x81304c0) at parser.cpp:126
#5  0x40383034 in Tree::parse (this=0x8130520, S=@0x811cff8, d=0x81304c0) at tree.cpp:600
#6  0x40375951 in Processor::addLineParse (this=0x811d0a8, S=@0x811cff8, newTree=@0x811d0a8,
    absolute=@0xbfffde40, isXSL=0) at guard.h:157
#7  0x4037602e in Processor::readTreeFromURI (this=0x811d0a8, S=@0x811cff8, newTree=@0x811d0a8,
    location=@0xbfffdf10, base=@0xbfffdef0, isXSL=0) at proc.cpp:602
#8  0x40373d91 in Processor::open (this=0x811d0a8, S=@0x811cff8, sheetURI=0x811dadc "arg:/xsl",
    inputURI=0x811dc14 "arg:/xml") at proc.cpp:277
#9  0x40379633 in SablotRunProcessor (processor_=0x811d0a8, sheetURI=0x811dadc "arg:/xsl",
    inputURI=0x811dc14 "arg:/xml", resultURI=0x402d9683 "arg:/_result", params=0x0, arguments=0x811dc54)
    at sablot.cpp:407
#10 0x402af84a in zif_xslt_process (ht=5, return_value=0x811db5c, this_ptr=0x0, return_value_used=1)
    at sablot.c:514
#11 0x401dcca1 in execute (op_array=0x81123a4) at ./zend_execute.c:1590
#12 0x401ed66c in zend_execute_scripts (type=8, retval=0x0, file_count=3) at zend.c:814
#13 0x401ff82a in php_execute_script (primary_file=0xbffff6e0) at main.c:1307
#14 0x401fa65a in apache_php_module_main (r=0x810a034, display_source_mode=0) at sapi_apache.c:90
#15 0x401fb4c8 in send_php (r=0x810a034, display_source_mode=0,
    filename=0x810f5e4 "/home/apache/html/geeba/crash.php") at mod_php4.c:575
#16 0x401fb535 in send_parsed_php (r=0x810a034) at mod_php4.c:590
#17 0x0806a7ff in ap_invoke_handler () at eval.c:41
#18 0x0807e5eb in process_request_internal () at eval.c:41
#19 0x0807e64c in ap_process_request () at eval.c:41
#20 0x08075a9d in child_main () at eval.c:41
#21 0x08075c48 in make_child () at eval.c:41
#22 0x08075dbc in startup_children () at eval.c:41
#23 0x0807640f in standalone_main () at eval.c:41
#24 0x08076c37 in main () at eval.c:41
#25 0x4008f177 in __libc_start_main (main=0x8076898 <main>, argc=2, ubp_av=0xbffffb14,
    init=0x804ed14 <_init>, fini=0x80abac0 <_fini>, rtld_fini=0x4000e184 <_dl_fini>, stack_end=0xbffffb0c)
    at ../sysdeps/generic/libc-start.c:129


Hope this helps. Thank you very much,
Valeriy

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-12-31 10:40 UTC] sterling@php.net
You probably compiled apache with the builtin expat lite, please re-install apache using the same expat that sablotron uses.
 [2002-01-04 19:37 UTC] vvo at geocities dot com
Recompiling Apache fixed the problem. Thanks for the tip.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 11:01:30 2024 UTC