Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:18860 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37894 invoked by uid 1010); 14 Sep 2005 02:58:16 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 37879 invoked from network); 14 Sep 2005 02:58:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Sep 2005 02:58:16 -0000 X-Host-Fingerprint: 220.245.213.234 220-245-213-234-act.tpgi.com.au Received: from ([220.245.213.234:6455] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id D9/2C-41173-8C197234 for ; Tue, 13 Sep 2005 22:58:16 -0400 Message-ID: To: internals@lists.php.net Date: Wed, 14 Sep 2005 12:57:56 +1000 User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 References: <43276022.6020702@encode.net.au> <43278CA4.4030701@lerdorf.com> In-Reply-To: <43278CA4.4030701@lerdorf.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Posted-By: 220.245.213.234 Subject: Re: [PHP-DEV] Reference handling change and PHP 4.4.0 From: colin@encode.net.au (Colin Tucker) Rasmus Lerdorf wrote: > Once again, it is an E_NOTICE in 4.4. And yes, not displaying it makes > it go away. Staying with 4.3 because of this is nuts. If you are > seeing this notice under 4.4 that means you are most likely getting > random memory corruption under 4.3. Move to 4.4 to fix the memory > corruption. Go through the notices and fix as many of them as you can, > since it indicates a basic problem in the code you are running. If you > are not interested in doing that, just turn them off. It will run > without corruption. > > -Rasmus Hi again Rasmus, Well, I can tell you that following our unexpected server upgrade yesterday to 4.4.0, things definately DID break within our code, and the display of E_NOTICE errors is disabled on our production server. We quickly rolled back to 4.3, and I have not had a chance to fully investigate what is going on with the code as yet, but it seemed to be stemming from a class of mine that acts like a map. Instead of returning an object associated with a given key, it was returning the *last added* object. I think all objects in the map ended up being the same object, being the last one added - there is definately some reference weirdness going on. I'm as confused as you probably are, and will report back on what is going wrong when I have a chance. But one thing is sure, this code was working absolutely fine until the switch to 4.4.0. Cheers, Colin.