ID:               47520
 Updated by:       il...@php.net
 Reported By:      pahan at hubbitus dot spb dot su
-Status:           Open
+Status:           Bogus
 Bug Type:         PCRE related
 Operating System: Linux
 PHP Version:      5.3.0beta1
 New Comment:

There is not much we can do about recursion limits other then suggest 
the lowering of the pcre.recursion_limit setting. The basic problem is

that PCRE library (not PHP) is eating up the system stack during 
recursion and subsequently crashes when it runs out of room.

This is not a PHP bug.


Previous Comments:
------------------------------------------------------------------------

[2009-03-02 10:09:28] phpwnd at gmail dot com

I forgot to add that in my case, lowering the value the
pcre.recursion_limit INI setting make preg_* functions fail instead of
making PHP segfault.

------------------------------------------------------------------------

[2009-03-02 10:01:52] phpwnd at gmail dot com

I'd like to add that you don't need such a complicated test case, you
can make preg_* segfault with just something like:

$str = str_repeat(' ', 2490);
preg_match('#(.)+#', $str);


On my computer, a 2490-chars string is long enough to make it segfaults
everytime. For some reason, 2489 chars will make it segfault only 1 out
of 5 runs and 2480 chars are perfectly fine. If I replace the regexp
with more capturing parenthesis such as #((.))+# that limit drops to
1500-or-so and that number decreases as the number of parenthesis
increases. Using non-capturing patterns such as #(?:.)+# doubles that
number.

Obviously, the bug is related to capturing patterns repetition,
assuming we're experiencing the same bug. I'll try to find a place where
to host a core dump.

------------------------------------------------------------------------

[2009-02-28 09:00:02] pahan at hubbitus dot spb dot su

Very apologize for mistake.
I'm fix rights now, please recheck.

------------------------------------------------------------------------

[2009-02-28 01:19:21] fel...@php.net

I cannot download the coredump file: "You don't have permission to
access /_temp/php-pcre-bug/2/core.10135 on this server."

Can you give us a backtrace?

------------------------------------------------------------------------

[2009-02-27 20:06:13] pahan at hubbitus dot spb dot su

I'm thrice check the previous reports about this issue. And what? All
closed as bogus, but segmentatoin fault still here! Where
solution/fix??? Even common workaraund of problem is absent.

Why it is bogus but not bug???

And also, please again read note: I use "Once-only subpattern", so,
this should prevent recursion as I can understand. Or not?

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/47520

-- 
Edit this bug report at http://bugs.php.net/?id=47520&edit=1

Reply via email to