Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:87251 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7112 invoked from network); 23 Jul 2015 17:36:55 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Jul 2015 17:36:55 -0000 Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.41 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.192.41 mail-qg0-f41.google.com Received: from [209.85.192.41] ([209.85.192.41:36729] helo=mail-qg0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E6/01-00531-63621B55 for ; Thu, 23 Jul 2015 13:36:54 -0400 Received: by qgy5 with SMTP id 5so120838608qgy.3 for ; Thu, 23 Jul 2015 10:36:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=w8E1as38dAHGnyGPjavYINhj+nSmBoKNwHYIDQROX24=; b=Lvu+70GzXPJw7Jrn+x4mdgBk2kC2d3nue+5FvwWaiKc3RKq7i0L7LtqGakJ1DBrPQP QES+c0bbdj9QpBFmcMvMNqxZIOdw3aDsFM2u4OOLcUaEkTmAvh+t4E69g2u2sN/E1vV/ Ct9iV39AdtbZW5CFGaaiCGdNeLG78+7zJJ//BGyVuu8Ra6q2Islg8uo0LP7C3YRW24Dj bLtkzdym+/8FG9Tfs/LrOQ5eTCY1wJcbm5RIS++ZN+9wlDN029Vq+C4LNLeI7nEX9iTl IE/qPTG9SFFn1bD1hJmvtCrZUZfCtibLT/sUdnRhmoJONSYEtQgzCdFRk56QpAgRSm20 J+5w== MIME-Version: 1.0 X-Received: by 10.140.94.132 with SMTP id g4mr13660106qge.63.1437673011571; Thu, 23 Jul 2015 10:36:51 -0700 (PDT) Received: by 10.96.151.5 with HTTP; Thu, 23 Jul 2015 10:36:50 -0700 (PDT) Received: by 10.96.151.5 with HTTP; Thu, 23 Jul 2015 10:36:50 -0700 (PDT) In-Reply-To: <55B0CADD.8000807@gmx.de> References: <55B0CADD.8000807@gmx.de> Date: Fri, 24 Jul 2015 00:36:50 +0700 Message-ID: To: Christoph Becker Cc: PHP internals Content-Type: multipart/alternative; boundary=001a113a9c742871ae051b8e5513 Subject: Re: [PHP-DEV] PCRE JIT stack size limit From: pierre.php@gmail.com (Pierre Joye) --001a113a9c742871ae051b8e5513 Content-Type: text/plain; charset=UTF-8 Hi Christoph, There are ways to dymacally increase the stack. Apache's modphp can use the apache config. Fpm, fcgi or cli can change it on windows (afair it is in the doc). It is possible too on Linux with ulimit. An alternative (not a big fan) would be to use setrlimit with an ini setting. Cheers, Pierre On Jul 23, 2015 2:07 PM, "Christoph Becker" wrote: > Hi! > > PHP7 supports PCRE's JIT compilation of patterns by default, which > mostly works fine. However, there are issues when the matching exceeds > the JIT stack limit, see bug #70110[1]. > > I'm not sure how to solve this best. Basically, I see two possible > solutions: either we fall back to non JIT matching, if pcre_exec() fails > with PCRE_ERROR_JIT_STACKLIMIT, or we use a custom JIT stack and make > its size a configurable ini setting (similar to pcre.backtrack_limit), > and raise E_WARNING if the matching fails due to limited stack size. > > Thoughts? > > [1] > > -- > Christoph M. Becker > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > --001a113a9c742871ae051b8e5513--