Re: PCRE JIT stack size limit
| From: | David Zuelke | Date: | Thu, 17 Mar 2016 04:22:17 +0000 |
| Subject: | Re: PCRE JIT stack size limit | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-91728@lists.php.net to get a copy of this message | ||
> On 16.03.2016, at 21:38, Anatol Belski <anatol.php@belski.net> wrote:
>
> Hi,
>
>> -----Original Message-----
>> From: David Zuelke [mailto:dz@heroku.com]
>> Sent: Tuesday, March 15, 2016 11:58 PM
>> To: Anatol Belski <anatol.php@belski.net>
>> Cc: Christoph Becker <cmbecker69@gmx.de>; Pierre Joye
>> <pierre.php@gmail.com>; PHP internals <internals@lists.php.net>
>> Subject: Re: [PHP-DEV] PCRE JIT stack size limit
>>
>> Sure. So composer creates patterns to parse a file dynamically; I have not
>> figured out why it only happens for some composer.json files (or maybe it
>> happens for all of them and I just have not noticed), but this example here I
>> extracted from a reproducibly failing "composer require" run; it runs into the
>> JIT
>> stack size limit on PHP 7 while it works fine on 5.x:
>>
>> https://gist.github.com/dzuelke/cc64a630c14416eda3e9
>>
> I've just tried this on Debian Jessie and on Windows with the latest 7.0.x builds, in both
> cases the error is PREG_BACKTRACK_LIMIT_ERROR. I'd be next asking you to check the
> configuration. Runtime like system or ini, or build config can affect this. Anyway, I don't see
> an issue with PCRE JIT at the moment.
Sorry, I simplified the example too far. Updated it again to throw a JIT stack limit error again
(but works fine with "php -dpcre.jit=0"):
https://gist.github.com/dzuelke/cc64a630c14416eda3e9/de7b7293798ac57b4f75d822dc22a625be0fe9df
David