Hi,

> -----Original Message-----
> From: David Zuelke [mailto:d...@heroku.com]
> Sent: Sunday, March 20, 2016 10:10 PM
> To: Anatol Belski <anatol....@belski.net>
> Cc: Christoph Becker <cmbecke...@gmx.de>; Pierre Joye
> <pierre....@gmail.com>; PHP internals <internals@lists.php.net>
> Subject: Re: [PHP-DEV] PCRE JIT stack size limit
> 
> > On 17.03.2016, at 05:22, David Zuelke <d...@heroku.com> wrote:
> >
> >> On 16.03.2016, at 21:38, Anatol Belski <anatol....@belski.net> wrote:
> >>
> >> Hi,
> >>
> >>> -----Original Message-----
> >>> From: David Zuelke [mailto:d...@heroku.com]
> >>> Sent: Tuesday, March 15, 2016 11:58 PM
> >>> To: Anatol Belski <anatol....@belski.net>
> >>> Cc: Christoph Becker <cmbecke...@gmx.de>; Pierre Joye
> >>> <pierre....@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/de7b7293798ac57b4
> > f75d822dc22a625be0fe9df
> 
> Were you able to reproduce this? :)
> 
Yes, it is reproducible. I was just investigating on another issue
https://bugs.exim.org/show_bug.cgi?id=1803 which now seems unrelated. With
the JIT stack - we can try to use a custom stack to increase its size by
allocating a custom jit stack of an increased sizeas a workaround. If that
works, it should be fine. I'll be working on a patch next week, then we can
see this option makes sense. More on the topic is readable here
http://www.pcre.org/original/doc/html/pcrejit.html#stackcontrol .

Regards

Anatol


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to