Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:73613 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 64176 invoked from network); 6 Apr 2014 12:55:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Apr 2014 12:55:25 -0000 Authentication-Results: pb1.pair.com smtp.mail=jakub.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=jakub.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.216.173 as permitted sender) X-PHP-List-Original-Sender: jakub.php@gmail.com X-Host-Fingerprint: 209.85.216.173 mail-qc0-f173.google.com Received: from [209.85.216.173] ([209.85.216.173:57450] helo=mail-qc0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 70/50-60621-BBE41435 for ; Sun, 06 Apr 2014 08:55:23 -0400 Received: by mail-qc0-f173.google.com with SMTP id r5so5241980qcx.4 for ; Sun, 06 Apr 2014 05:55:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=5gGhmvxBI/lZsRoNdqVVP9p3AQKSjdDEPSSkCAMYVdE=; b=R6gYBZl/GOeQuKP9TCq3hL91xxcM7/YhkQEvzhqSFvDMqndNJmm5VV5ePPnHAfpWS6 abgXnDs13ksitL8WIU/9zl6c95qFLuzf3mk7YL+3j5QZgIGq45eQGDhsH3evgtYDT/vo n7F3IoBrWx5bQx/i7DLzYWGcYx2nGvTL1rRO2KuwsQLP9Pxm9i8PbwSeV2hDPheNRzlS K1B00bZNykdO9u0wfQKj2BvT0ctIEiFhvnRq7TW3SE2F9j4ee4PSe8Qi//koTIW4PQpf 0v+1DCYEsMg7hGNR5Ka8Pq8Z5GJoqFeGux5GbNb9t8hvUhIR1Q0QFk8HykzgITrB6GcR y0hw== MIME-Version: 1.0 X-Received: by 10.140.27.109 with SMTP id 100mr25353854qgw.14.1396788920472; Sun, 06 Apr 2014 05:55:20 -0700 (PDT) Sender: jakub.php@gmail.com Received: by 10.224.207.138 with HTTP; Sun, 6 Apr 2014 05:55:20 -0700 (PDT) In-Reply-To: References: Date: Sun, 6 Apr 2014 13:55:20 +0100 X-Google-Sender-Auth: fdQIjD5NaL5sPbDE8xSiQEDLLzk Message-ID: To: Tjerk Meesters Cc: Etienne Kneuss , Ferenc Kovacs , Julien Pauli , PHP Internals Content-Type: multipart/alternative; boundary=001a11c14d7a6e584204f65f4398 Subject: Re: [PHP-DEV] [PR 614] ArrayObject and isset() / empty() behaviour From: bukka@php.net (Jakub Zelenka) --001a11c14d7a6e584204f65f4398 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi Tjerk, I was playing with ZF2 and getting segfaults for Mvc tests (for example phpunit ZendTest/Mvc/ApplicationTest.php). It's only on 5.6 and master branch. Think that it might be because of this patch: 0 zend_call_method zend_interfaces.c 35 0xae17fd 1 spl_array_read_dimension_ex spl_array.c 389 0x87179b 2 spl_array_has_dimension_ex spl_array.c 655 0x87273d 3 spl_array_has_dimension spl_array.c 675 0x8727d1 4 zend_isset_isempty_dim_prop_obj_handler_SPEC_CV_CV zend_vm_execute.h 40983 0xb817a8 5 ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CV_HANDLER zend_vm_execute.h 41039 0xb819c1 6 execute_ex zend_vm_execute.h 363 0xb097cb 7 zend_execute zend_vm_execute.h 388 0xb098b1 8 zend_call_function zend_execute_API.c 952 0xaa6faa 9 zend_call_method zend_interfaces.c 97 0xae1bea 10 spl_array_read_dimension_ex spl_array.c 389 0x87179b 11 spl_array_has_dimension_ex spl_array.c 655 0x87273d 12 spl_array_has_dimension spl_array.c 675 0x8727d1 13 zend_isset_isempty_dim_prop_obj_handler_SPEC_CV_CV zend_vm_execute.h 40983 0xb817a8 14 ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CV_HANDLER zend_vm_execute.h 41039 0xb819c1 15 execute_ex zend_vm_execute.h 363 0xb097cb 16 zend_execute zend_vm_execute.h 388 0xb098b1 17 zend_call_function zend_execute_API.c 952 0xaa6faa 18 zend_call_method zend_interfaces.c 97 0xae1bea 19 spl_array_read_dimension_ex spl_array.c 389 0x87179b 20 spl_array_has_dimension_ex spl_array.c 655 0x87273d ... Let me know if you can't recreate it Thanks Jakub On Mon, Mar 10, 2014 at 4:20 PM, Tjerk Meesters w= rote: > On Mon, Mar 10, 2014 at 9:58 PM, Tjerk Meesters >wrote: > > > Hi Etienne, > > > > > > On Mon, Mar 10, 2014 at 9:26 PM, Etienne Kneuss wrote: > > > >> > >> > >> > >> On Mon, Mar 10, 2014 at 1:43 PM, Ferenc Kovacs > wrote: > >> > >>> > >>> > >>> > >>> On Sat, Mar 8, 2014 at 10:56 AM, Tjerk Meesters < > >>> tjerk.meesters@gmail.com> wrote: > >>> > >>>> On Sat, Mar 8, 2014 at 8:27 AM, Tjerk Meesters < > >>>> tjerk.meesters@gmail.com>wrote: > >>>> > >>>> > Hi Etienne, > >>>> > > >>>> > Thanks for your input, much appreciated. > >>>> > > >>>> > I have moved the decision up the chain as you suggested; the resul= ts > >>>> can > >>>> > be found here: > >>>> > > >>>> > https://github.com/datibbaw/php-src/compare/php:PHP-5.4...bug66834= a > >>>> > > >>>> > >>>> > > >>>> > It's suffering from a few memory leaks which can be fixed, > >>>> > > >>>> > >>>> They are fixed now and a new PR has been opened: > >>>> > >>>> https://github.com/php/php-src/pull/616 > >>>> > >>>> > >>> Hi Etienne, > >>> > >>> Are you fine with the changes in the PR? > >>> > >>> > >> Two things: > >> > >> 1) Where is this planned to be merged? Is it really 5.4 ? As is the PR > is > >> no longer a simple bug fix and while I agree it should be changed that > way, > >> it might introduce hard-to-track BC breaks. > >> > > > > After a short discussion on IRC I'm moving the branch to target 5.6 > > instead. > > > > > >> 2) Seems to me that with this PR, part of the hack present in > ArrayObject > >> in the has_dimension handler is no longer necessary, as it might be > doing > >> to value-check twice now. > >> > > > > I'll start looking into this now. Thanks for the heads up :) > > > > I've updated and cleaned up ext/spl; the most notable change is code > removal according to a changed definition of zend_object_has_dimension_t: > > typedef int (*zend_object_has_dimension_t)(zval *object, zval *member > TSRMLS_DC); > > PR: https://github.com/php/php-src/pull/621 > > Let me know if you see any other issues; I'm fine with reverting the > typedef change if that could be an issue. > > > > > > > >> > >> > >> Best, > >> > >> -- > >>> Ferenc Kov=E1cs > >>> @Tyr43l - http://tyrael.hu > >>> > >> > >> > >> > >> -- > >> Etienne Kneuss > >> http://www.colder.ch > >> > > > > > > > > -- > > -- > > Tjerk > > > > > > -- > -- > Tjerk > --001a11c14d7a6e584204f65f4398--