#28183 [Opn]: Variables mix up
| From: | patrick dot hagemeister at krankikom dot de | Date: | Tue, 27 Apr 2004 14:26:39 +0000 |
| Subject: | #28183 [Opn]: Variables mix up | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-58862@lists.php.net to get a copy of this message | ||
ID: 28183
User updated by: patrick dot hagemeister at krankikom dot de
Reported By: patrick dot hagemeister at krankikom dot de
Status: Open
-Bug Type: Unknown/Other Function
+Bug Type: Scripting Engine problem
Operating System: Linux SuSE 8.0
PHP Version: 4.3.6
New Comment:
Changed category to "Scripting engine problem"
Previous Comments:
------------------------------------------------------------------------
[2004-04-27 16:21:04] patrick dot hagemeister at krankikom dot de
Description:
------------
I have a medium-sized php applications (~20000 lines), which starts to
produce a few problems.
Sometimes, variables mix up:
i.e. i create a new instance $root of class "CBXTreeNode", but only 3
lines later, suddenly the class type (checked using get_class()) of
$root is "CBXWorkflow", and the value is the one of another variable in
the same function.
But between these lines, i didn't even touch the variable...
In some places, a similar problem shows up:
I instanciate a class CBXTreeNode, but if i do get_class($variable), it
returns "cbxtreenodd" instead of ctxtreenode.
Unfortunately i could not reproduce it on every server, on my
development server it works, on the production server, it doesn't :(
Also, the exact same source works outside my application, on the same
server.
I updated PHP from 4.2.3 to 4.3.6, but no change.
Reproduce code:
---------------
$root = $treemgr->getRootNode();
echo "root is class ".get_class($root)."<br>";
$workflow =& $this->getWorkflow();
echo "workflow is class ".get_class($workflow)."<br>";
echo "root is class ".get_class($root)."<br>";
// **Output in my application**
// root is class CBXTreeNode
// workflow is class SPWorkflow
// root is class SPWorkflow
Expected result:
----------------
Output should be:
root is class CBXTreeNode
workflow is class SPWorkflow
root is class CBXTreeNode
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28183&edit=1