That's just one of the problems, it's about a project with over tens of thousands lines of code. As I said before, I don't know whats the exact cause. There are so many variables that contribute to this issue and of most of them I don't understand why they contribute. However, I'm convinced the php compiler screws up "really" bad. Now I have to find out why it screws up, to be able to file a complete bug-report or to find a work around. As posting code isn't an option I will try to explain the issue more thoroughly, tomorrow, I'll discuss the possibility of access to one of our development servers with my employer. A more thorough explanation: As I said before, I have a very complex model of objects. First, I will describe the piece of the model thats involved and how it works. We have object A, B and C, they are children of each other in this order Also we have property objects P1, P2 and PX P1 handles textbased property changes, P2 and PX represent other types of properties, which types is not interesting, the way they handle input is the same as defined in the parent class P, the only difference is how they visually represent theirselfs. Object A has properties: (int) status (array) properties (object) B Object B has properties: (string) title (array) properties (object) C Object C has properties: (array) properties Each object as a "properties" array. These arrays contain the objects P1, P2 and/or PX. When object A and B wakeup (in reversed order ofcourse) they both call a function, giving themselve ($this) as parameter. This function, checks the P-objects in the properties array, for changed values. If a value is changed, the function will change the value on the object. For example: Object B has a P1 property with the name "title" in it's properties array. The P1 object get's on wakeup a new value from $_POST or whatever, puts this value in it's "value" property and sets it's "changed" flag. Now Object B wakes up and calls "the function", this functions loops through the properties array and sees the P1 object with name "title" has it's "changed" flag set. Now, the function copies the value from the P1 object to the "title" property of Object B So far so good, no errors there however, I'm doing some strange to the model, call me stupid, but it just was de easiest way to fix this as Object C handles to visual representation: Object A has a PX object for it's state Object B has a P1 object for it's title Object C doesn't have any property objects (yet, perhaps future types of C will) Now Object B has set its "C" child and want C to have it's parental properties so they can be displayed. Object B creates references in the properties array of C to all the properties of A and B, this is no problem as Object C doens't call "the function" on wakeup so it won't do anything with the properties values and even if it did, I really wouldn't care if C's nonexisting "state" or "title" got set. This all still works fine. Now, Object B get's a new property of type P2, Object B doesn't care about it's value, but has to initially set it. After it's set you might see P2 as a "read-only" property object. Still no issue, the P2 object is nicely, visually represented and we don't care if it's value would change, Object B doesn't use a property with the P2 object name. I repeated this trick and added another P2 object. Everything seemed fine but then, when the P1 title object from Object B got it's value changed, an error was generated: Object A noticed it's "state" property object PX doens't exist and tries to add a new one to it's properties array. However, this is no longer an array (which generated the error in the first place). Objects B title get's changed correctly. My prove for php screwing up is the following: I "never", reset the properties array, I just don't (which is proven by ZendPlatform) seccond: my error handler, displays backtraces of errors, and the backtrace just didn't make sense. I have a "helper function" to add property objects to the properties array of objects, the error was generated in this function. De backtrace gave me a correct line-number for the error, a correct filename for the error, but an incorrect function name, it repeated the Object A function instead of showing the name of "helper function". Third: The issue seems only to occur when P1 changes and that magical third property is of type P2 (that the 2nd property is also P2 doesn't seem to mather also their order don't mather) and the name of this third property contains something like "keyword". (original name "ssl_keywords" but "keyword" and even "keywoord" caused an error while "key" didn't) (when using ZendPlatform, the name of the key doesn't matter anymore, the new value of the P1 object "title" seems to leak into another not related array and everything else seems to work fine. However, this script, with these parameters can't be debugged with ZendPlatform, as httpd will segfault, all other scripts, even this, without that "title" parameter debug just fine) The fourth reason is even more vague. In the beginning I solved the above issue quite fast, by just "trying" something. I got bored and wasn't really looking into the issue as I thought it was a stupid mistake by my own making. I accidentally fixed the issue by letting "the function" (the one that applies properties objects values to an object) work on references in the foreach loop that looped through the properties array ( foreach($object->properties as $object) --> foreach($object->properties as &$object) ) I did not thrust this fix, as it didn't seem related enough and even more when you realize that objects in php5 always are references, zo putting that & sign there seems a bogus to me. Then again, at that time everything seemed to work.... not! Something else began to screw, Object A again. In the real-life situation, Object A may contain multiple Bs, during wakeup, it loops through it's Bs for maintenance. The array for these B's is an associative one, where the keys are the language that the Bs represent. Now the code looks like this: $keys=array_keys($this->B); foreach($keys as $key) { // First statement // Seccond statement } In the real-life situaties, there is just one B with key "Nederlands" which is "Dutch" in dutch. In the first statement, Object A takes Object Bs title, similiar to this: $this->title=$this->B[$key]->title; Works fine, now the secconds statement is executed, A tries to copy the path to the icon of B, similiar to this: $this->icon=$this->B[$key]->icon; This statement fails telling me the element "Nederlancs" doesn't exists. This is not a typo, the key mysterialy changed to "Nederlancs"! The "d" became a "c". Enough prove for me, however, there is still the problem of finding the cause and a solution. I'm going to double check if everything I said above is correct and I will try to create simple reproduce code in order to pinpoint the cause, however, if the problem is subject to specific "keynames" I think there is a lot more to the issue than meets the eye. So other parts of my code may be involved. If anyone is still interested in helping me, please let me know, tell me what you need, what you intend to check, a guess about the cause of the issue? Thank you! Eric van Blokland "Jay Blanchard" <jay.blanchard@xxxxxxxxxxx> wrote in message news:0CEC8258A6E4D611BE5400306E1CC9270915AB01@xxxxxxxxxxxxxxxxxx > [snip] > This is "globally" what happens. If you're insterested in this issue, > willing to help me and if you think yourself to be cappable of helping me. > Please contact me by responding to this post or contact me directly: > [/snip] > > There are several on this list who are willing and capable of helping. Put > it out here on the list, you'll get a better response. Let's see the code. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php