Re: Confused on the status of a "bogus" bug report

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Robert Cummings wrote:
> On Mon, 2007-01-08 at 23:59 +0100, Jochem Maas wrote:
>> Bill Moran wrote:
>>> With reference to:
>>> http://bugs.php.net/bug.php?id=40067
>>>
>>> I'm confused as to why this was marked bogus, and the message that
>>> marked as such doesn't give much insight.
>>>
>>> It would seem to me that infinite recursion within PHP is a bug.
>>> Shouldn't the interpreter catch this sort of thing before it
>>> coredumps?  Or is the design philosophy for PHP different than
>>> that?
>> the way I understand it is that there is no decent way for the engine to
>> tell the difference between a piece of recursive code that will complete
>> and a piece of recursive code that will never complete ... so the only
>> sane solution is to leave it up to user land code to make sure the recursive
>> loop is not infinite.
>>
>> put another way if the engine catches/stops what it *thinks* is an infinite loop
>> then how would stopping the loop at an arbitrary location be any better
>> than dumping core?
> 
> Ummm, on many systems you end up with a core dump with the following
> name: core.<pid>. Now multiply that by 1000 at 16 to 32 megs a piece.
> Not fun :)

core dump files are only generated in debug builds I thought. I may well be
completely wrong though :-)

> 
> Anyways, the core dump happens because memory is exhausted and the
> engine is unable to allocate anymore. It should be possible for PHP to
> exit gracefully upon finding itself out of memory... Possibly it could
> allocate another 1k and write to the error logfile on which line it was
> running when it ran out of memory. 

that does sound sane.

> Or better yet, maybe a
> debug_backtrace() output *drool*.

wouldn't the backtrace be massive, leaving you with the same problem as
indicated by your point regarding the core dump files?


> 
> Cheers,
> Rob.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux