#31508 [WFx]: Apache 1.3.33 endless loop in _int_malloc()
| From: | derick@php.net | Date: | Fri, 21 Jan 2005 08:15:09 +0000 |
| Subject: | #31508 [WFx]: Apache 1.3.33 endless loop in _int_malloc() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-72577@lists.php.net to get a copy of this message | ||
ID: 31508
Updated by: derick@php.net
Reported By: yml at dtlink dot com
Status: Wont fix
Bug Type: Apache related
Operating System: Linux (RedHat 9)
PHP Version: 4CVS-2005-01-13
New Comment:
It can do that, but not infinitive recursion. The limit is about 2500
levels of function calls deep, but that may variate quite some
depending on your situation.
Previous Comments:
------------------------------------------------------------------------
[2005-01-21 02:17:50] yml at dtlink dot com
Ummm. You're not really saying that PHP can't do recursion, are you?
That would be ludicrous.
------------------------------------------------------------------------
[2005-01-21 01:54:29] iliaa@php.net
What you are experiencing is a stack smash caused by recurssion. This
is unlikely to ever be fixed and is a good example of why not to use
recursive functions.
------------------------------------------------------------------------
[2005-01-21 00:51:17] yml at dtlink dot com
yes, I make alot of use of recursion. It's a system that constructs
trees of objects based on an XML source file.
I do a tremendous amount of object reference passing as well.
The first version was built in 2001 and it's been growing since. I've
run into several PHP symbol table corruption bugs since that time; most
I haven't bothered to report since they're so difficult to reproduce.
PHP versions since 4.3.4 have been /much/ more stable; until this bug
which seems to be caused by a particular combination of object trees.
------------------------------------------------------------------------
[2005-01-21 00:40:47] iliaa@php.net
Do you have recursive function calls in your script?
------------------------------------------------------------------------
[2005-01-14 07:04:24] yml at dtlink dot com
Unfortunately this is one of those bugs that I have not been able to
create a short reproducing script. I think it's a symbol table
corruption problem probably due to a buffer overflow problem in the
parser code somewhere. If I change the PHP code slightly the location
of the segfault changes. If I compile with --enable-debug it stops
segfaulting.
If you are interested, with some work, I can provide you a test machine
to log into with all my code on it and exact instructions on how to
reproduce this problem. You are welcome to use my hardware to diagnose
this problem.
You may wish to look at bug http://bugs.php.net/31525 for
which I do
have a test script that I believe is related to this bug.
I have added your sniper at php.net email to my whitelist, so please
feel free to contact me directly. I am very motivated to help track
this bug down and as I mentioned before it may very well be due to
something I'm doing in my code. Aside from providing you a box to log
into where the bug is demonstrated, is there anything else I can do to
help track this down?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/31508
--
Edit this bug report at http://bugs.php.net/?id=31508&edit=1