Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55379 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 6969 invoked from network); 12 Sep 2011 06:45:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Sep 2011 06:45:14 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.199.177.89 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.199.177.89 il-mr1.zend.com Received: from [212.199.177.89] ([212.199.177.89:33677] helo=il-mr1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A4/11-26895-77AAD6E4 for ; Mon, 12 Sep 2011 02:45:12 -0400 Received: from il-gw1.zend.com (unknown [10.1.1.22]) by il-mr1.zend.com (Postfix) with ESMTP id 8E488601BE; Mon, 12 Sep 2011 09:43:53 +0300 (IDT) Received: from tpl2.home (10.1.10.44) by il-ex2.zend.net (10.1.1.22) with Microsoft SMTP Server id 14.1.255.0; Mon, 12 Sep 2011 09:44:57 +0300 Message-ID: <4E6DAA72.4070808@zend.com> Date: Mon, 12 Sep 2011 10:45:06 +0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 MIME-Version: 1.0 To: CC: Flavius Aspra , References: <4E6C8CF6.3080509@php.net> In-Reply-To: <4E6C8CF6.3080509@php.net> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.1.10.44] Subject: Re: [PHP-DEV] ZE2 broken by newer gcc From: dmitry@zend.com (Dmitry Stogov) Hi Flavius, Unfortunately, the proposed fix is wrong. It changes the operators precedence and it's definitely wrong. I suppose the crash caused by side effect of some other bug. Try to run the same script with valgrind. Thanks. Dmitry. On 09/11/2011 02:27 PM, Flavius Aspra wrote: > Hi > > I think I've found a bug in the engine, and I think it occures only with > the latest gcc ("gcc version 4.6.1 20110819 (prerelease)"), since it > used to work with earlier versions. > > For example line 867 > http://lxr.php.net/opengrok/xref/PHP_5_3/Zend/zend_execute_API.c#867 > should be > > && PZVAL_IS_REF((*fci->params)[i])) { > > that's what has worked for me at least. Otherwise it ends with a segfault. > > It may also be gcc breaking BC. So I'm not sure whose "fault" it is, but > I think [] takes precedence over * in the C specification. > > Could someone please verify this issue? > > Regards, > Flavius