Re: BC break in 5.4.29 and 5.5.13
| From: | Benjamin Eberlei | Date: | Wed, 04 Jun 2014 06:03:42 +0000 |
| Subject: | Re: BC break in 5.4.29 and 5.5.13 | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-74737@lists.php.net to get a copy of this message | ||
Remi,
I didn't have time to check the implications of
"newInstanceWithoutConstructor", i didn't want to merge that directly into
our stable branches. Plans to migrate to the function for php5.4++ exist
though.
greetings
Benjamin
On Wed, Jun 4, 2014 at 7:24 AM, Remi Collet <remi@fedoraproject.org> wrote:
> Le 03/06/2014 21:04, Jeremy Mikola a écrit :
> > On Tue, Jun 3, 2014 at 1:11 PM, Marco Pivetta <ocramius@gmail.com>
> wrote:
> >
> >>
> >> It is going to be released, but yes, we actually have the expectation a
> >> patch release for 5.4 and 5.5 with a rollback of this breakage.
> >
> >
> > The original Doctrine PR that fixed this issue was
> > https://github.com/doctrine/doctrine2/pull/1045, and
> > Benjamin made some
> > revisions in
> >
>
> https://github.com/doctrine/doctrine2/commit/e577e7786796e9393df381f02221046dea6253a5
> > (note: there is a typo there, as he actually should be checking for
> 5.4.29
> > instead of 5.4.28). Based on the conversation above, it sounds like the
> > revert will end up in 5.4.30 and 5.5.14, but we should expect the change
> > for 5.6+.
>
> Why don't you simply use newInstanceWithoutConstructor() as soon as
> possible (5.4+) ?
>
> I rather see unzerialize('O:%d:"%s":0:{}') as a workaround for old
> version, instead of the opposite...
>
> The fix is not really reverted, only a workaround for this regression,
> and only for user class (so the segfault is fixed, for internal class).
>
> FYI, a user of my repo have confirm (real app.) than
> - doctrine + php 5.4.29 is broken
> (the reason why I raised this issue here last Friday, I was aware of
> PHPUnit problem for a long time, but was thinking it is 5.6 only)
> - doctrine + initial patch works with php 5.4.29
> - doctrine works with php 5.4.29 + patch
>
> > In that case, Benjamin's commit needs to (a) fix the 5.4.x typo and (b)
> add
> > another condition to utilize Reflection for 5.6+.
> >
> > Has PHPUnit already incorporated a work-around for this? At a glance, I
> > didn't see anything in the main repository or
> > https://github.com/sebastianbergmann/phpunit-mock-objects.
>
>
>
> https://github.com/sebastianbergmann/phpunit-mock-objects/commit/1c68f1338f1940deb8265428bb2a7cbc5bc074b5
>
>
>
> https://github.com/sebastianbergmann/phpunit-mock-objects/commit/ba8784d88ff4cc52cf9424d7f7c631ccd867019c
>
>
> Remi.
>
> P.S. FYI, in Fedora:
> - Doctrine package includes the initial patch, so works
> - PHPUnit package includes the upstream patch, so works
> - PHP 5.5.13 includes the patch, so even a manually installed Doctrine
> or PHPUnit will work.
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>