ID:               14848
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
-Bug Type:         XML related
+Bug Type:         Reproducible crash
 Operating System: Linux
-PHP Version:      4.1.1
+PHP Version:      php4-20020206000
 New Comment:

I done some other tests with the latest snapshot (php4-20020206000).

If I put a set_time_limit(0) on the top of the script php doesn't crash
but it takes a long time to finish (~3 minutes on an athlon XP1800 with
512M);  probably it is freeing memory a lot of memory.

If I put set_time_limit(10) the script crashes:


Starting program: /usr/local/bin/php test.php
OK!

Fatal error: Maximum execution time of 10 seconds exceeded in Unknown
on line 0
Unknown(0) : Fatal error - Maximum execution time of 10 seconds
exceeded

Program received signal SIGSEGV, Segmentation fault.
0x401b9e23 in chunk_free (ar_ptr=0x4026b520, p=0x8216dd0) at
malloc.c:3228
3228    malloc.c: No such file or directory.
        in malloc.c
(gdb) bt
#0  0x401b9e23 in chunk_free (ar_ptr=0x4026b520, p=0x8216dd0) at
malloc.c:3228
#1  0x401b9ba8 in __libc_free (mem=0x8217118) at malloc.c:3154
#2  0x08068e16 in shutdown_memory_manager (silent=1, clean_cache=0) at
zend_alloc.c:524
#3  0x08083a32 in php_request_shutdown (dummy=0x0) at main.c:745
#4  0x08062b2e in main (argc=2, argv=0xbffff8a4) at php_cli.c:597
#5  0x40159306 in __libc_start_main (main=0x80623b4 <main>, argc=2,
ubp_av=0xbffff8a4, init=0x8060a10 <_init>, fini=0x814ecf0 <_fini>, 
    rtld_fini=0x4000d2dc <_dl_fini>, stack_end=0xbffff89c) at
../sysdeps/generic/libc-start.c:129
(gdb) 





Previous Comments:
------------------------------------------------------------------------

[2002-01-07 11:11:10] [EMAIL PROTECTED]

I have a testcase:

test.php:

<?
  @$data = implode("",file("export.xml"));
  $parser = xml_parser_create();
  xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
  xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
  xml_parse_into_struct($parser,$data,$values,$tags);
  xml_parser_free($parser);
  echo "OK!\n";
?>

The export.xml file is available on
http://www.libertyline.com/download/export.xml.bz2 (the compressed
version is only 3213 bytes)




------------------------------------------------------------------------

[2002-01-04 09:38:03] [EMAIL PROTECTED]

Spoken too early, the bug is also present in 4.0.6, but the program
doesn'crash, it says Maximum execution time exceeded ) and hangs.

Killing the process with SIGABRT produces the following backtrace (got
from the core file)

(gdb) bt
#0  0x401b9d2b in chunk_free (ar_ptr=0x4026b520, p=0x81f9e10) at
malloc.c:3252
#1  0x401b9ba8 in __libc_free (mem=0x81f9ee8) at malloc.c:3154
#2  0x080cd191 in _efree (ptr=0x81f9ef4) at zend_alloc.c:232
#3  0x080cd5bb in shutdown_memory_manager (silent=0, clean_cache=1) at
zend_alloc.c:437
#4  0x08062fc4 in php_module_shutdown () at main.c:942
#5  0x08061e78 in main (argc=2, argv=0xbffff874) at cgi_main.c:752
#6  0x40159306 in __libc_start_main (main=0x8061664 <main>, argc=2,
ubp_av=0xbffff874, init=0x805fe7c <_init>, fini=0x8105c60 <_fini>, 
    rtld_fini=0x4000d2dc <_dl_fini>, stack_end=0xbffff86c) at
../sysdeps/generic/libc-start.c:129


------------------------------------------------------------------------

[2002-01-04 07:28:33] [EMAIL PROTECTED]

I found a bug using php 4.1.1 on redhat linux 7.1
My script uses the xml_parse_into_struct to parse a large XML file (2
mb) and then inserts the contents into a mysql database.

The script hangs at the end, and after 30 seconds it exits with 

<b>Fatal error</b>:  Maximum execution time of 30 seconds exceeded in
<b>Unknown</b> on line <b>0</b><br>
Segmentation fault (core dumped)

The script is launched from the  command line.

This is the backtrace of the core file

(gdb) bt
#0  0x401b9dce in chunk_free (ar_ptr=0x4026b520, p=0x81b5260) at
malloc.c:3242
#1  0x401b9ba8 in __libc_free (mem=0x81b5268) at malloc.c:3154
#2  0x080e3dcd in _efree (ptr=0x81b5274) at zend_alloc.c:246
#3  0x080e420b in shutdown_memory_manager (silent=1, clean_cache=1) at
zend_alloc.c:469
#4  0x0806361a in php_module_shutdown () at main.c:1005
#5  0x0806228d in main (argc=2, argv=0xbffff874) at cgi_main.c:788
#6  0x40159306 in __libc_start_main (main=0x8061978 <main>, argc=2,
ubp_av=0xbffff874, init=0x80600c4 <_init>, fini=0x810ffe0 <_fini>, 
    rtld_fini=0x4000d2dc <_dl_fini>, stack_end=0xbffff86c) at
../sysdeps/generic/libc-start.c:129
(gdb) 

The script works fine with php 4.0.6


                                        Daniele Paoni


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=14848&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to