ID:               47724
 Comment by:       scott at danielfamily dot com
 Reported By:      scott at danielfamily dot com
 Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: Centos 5.2
 PHP Version:      5.2.9
 New Comment:

Thanks for the quick response. I understand that infinite recursion is
a sure way to crash PHP. I've fixed those problems a bunch of times over
the years. However, those bugs tend to manifest themselves in a
consistent way. In this situation, removing code that is not even
executed can cause the problem to disappear. Adding a few random
instructions can also make the problem disappear. This would not happen
if there was a recursion problem. 

This really feels like a heap corruption or some other wickedness in
code A is causing a crash in code B where A and B are basically
unrelated. These are REALLY REALLY hard to find and fix so I am
sympathetic to your reluctance to dive in, but I believe this is a real
problem.

I've posted a ticket with the symfony team and hope that someone will
respond (http://trac.symfony-project.org/ticket/6152), but as I say in
that ticket, I believe the problem is with PHP, not symfony or doctrine.
The symfony/doctrine stack simply represents the proper level of
complexity to cause the PHP failure.

Part of my persistence is that I believe it is very possible that this
is related to Bug #40479 (http://bugs.php.net/bug.php?id=40479). I have
some very negative experience with this problem on another project where
my team spent nearly a man-month trying to find a random heap corruption
problem. We ended up abandoning the Smarty based project and using
Symfony with good results. In that case the problem was consistent, but
intermittent. In this case, the problem is consistent and reproducible.


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

[2009-03-23 18:08:14] [email protected]

Are you sure this isn't a circular reference causing some sort of
infinite recursion?  There is no protection against infinite recursion
crashes in 5.2.x

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

[2009-03-23 17:56:13] scott at danielfamily dot com

I believe very strongly that this is a bug in PHP, not in doctrine or
symfony. Modifying seemingly random and benign pieces of code, changing
the order of code, or collapsing classes usually results in the problem
disappearing. This makes it impossible to comply with your request for a
simple script.

This is VERY likely to be a corrupt heap situation that only manifests
itself when the planets are aligned correctly. I have gotten those
planets to align consistently and the crash always happens.

I'm willing to do anything reasonable to get someone to look at this
problem. Building the VMWARE appliance seemed like the best approach as
it will allow someone familiar with the internals of PHP to download the
appliance and duplicate the problem in minutes.

I've already posted this on the symfony forums and gotten sympathy, but
no substitive suggestions. I'll try posting it as a symfony bug and see
what happens.

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

[2009-03-22 18:00:09] [email protected]

If you are not able to create a self contained script to reproduce the
problem, report the bug to symfony or doctrine developers and ask them
to analyze it. We can't use these tools as a base to debug this issue.

Thanks for your understanding.

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

[2009-03-22 17:38:55] scott at danielfamily dot com

I understand and appreciate the purpose of the canned response, but
please reread my original bug submission. What you are asking for is
impossible. Duplication of the problem REQUIRES a very complex sequence
of PHP code. If I change a single line of PHP code, the problem is
likely to disappear. 

Please take me up on my offer to transfer the VMWARE appliance that
clearly and consistently duplicates the problem.

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

[2009-03-21 23:03:13] [email protected]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



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

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/47724

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

Reply via email to