php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29242 Deep recursion crashes PHP
Submitted: 2004-07-18 11:57 UTC Modified: 2004-07-18 18:44 UTC
Votes:6
Avg. Score:4.3 ± 0.5
Reproduced:6 of 6 (100.0%)
Same Version:1 (16.7%)
Same OS:2 (33.3%)
From: miancule at yahoo dot com Assigned:
Status: Wont fix Package: Reproducible crash
PHP Version: 4.3.7 OS: Windows XP
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: miancule at yahoo dot com
New email:
PHP Version: OS:

 

 [2004-07-18 11:57 UTC] miancule at yahoo dot com
Description:
------------
PHP 4.3.7
Apache 2.0.49
Windows XP

Deep recursion crashes the Apache process with status = 128.

[Sun Jul 18 12:29:08 2004] [notice] Parent: child process exited with status 128 -- Restarting.

It seems the error occurs at somehow random recursion levels (it can go from recursion level 100 to 1000).

I understand that a stack overflow might occur, but for the sample below a decent implementation should allow very large recursion depths.

Reproduce code:
---------------
<?php
function recurse($count)
{
  echo $count.'<br/>';
  if ($count < 10000)
    recurse(++$count);
}
recurse(0);
die 'No crash';
?>

Expected result:
----------------
0
1
..
999
No crash

Actual result:
--------------
No output (because the server process is killed prematurely).

Patches

Pull Requests

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC