Edit report at http://bugs.php.net/bug.php?id=52818&edit=1
ID: 52818 User updated by: svimik at mail dot ru Reported by: svimik at mail dot ru Summary: PCRE segfault Status: Bogus Type: Bug Package: Reproducible crash Operating System: Debian-50-lenny-64 PHP Version: 5.3.3 Block user comment: N New Comment: Why stack overflow is not a bug? Previous Comments: ------------------------------------------------------------------------ [2010-09-14 13:09:14] ahar...@php.net I can replicate this on a stock trunk build, and it is (as usual) a simple stack overflow. Closing. ------------------------------------------------------------------------ [2010-09-12 11:35:08] svimik at mail dot ru Thanks to pajoye, the problem was solved by reducing recursion limit. pcre.recursion_limit was default value (100000), and only reducing to 10000 solved the problem. The only question is: is default value of pcre.recursion_limit too high? And should it work? ------------------------------------------------------------------------ [2010-09-12 02:35:15] paj...@php.net What's your pcre recursion limit setting? Also it looks like a stack issue to me. In any case, please provide a backtrace, without any patch or random extension (suhoshin or whatever else). ------------------------------------------------------------------------ [2010-09-12 00:57:27] svimik at mail dot ru Tested versions: ------------------------ PHP 5.3.2-2 with Suhosin-Patch (cli) (built: Jul 19 2010 01:22:58) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with XCache v1.3.0, Copyright (c) 2005-2009, by mOo PHP 5.2.12-2 with Suhosin-Patch 0.9.7 (cli) (built: Jan 11 2010 16:51:28) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies with XCache v1.3.0, Copyright (c) 2005-2009, by mOo PHP 5.2.9 (cli) (built: Mar 31 2009 23:21:47) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies PHP 5.2.6-1+lenny8 with Suhosin-Patch 0.9.6.2 (cli) (built: Mar 14 2010 08:14:04) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies ------------------------------------------------------------------------ [2010-09-12 00:48:44] svimik at mail dot ru Description: ------------ My phpinfo: http://188.40.74.4/_phpinfo.php My hardware configuration: http://www.hetzner.de/en/hosting/produkte_rootserver/eq4/ Test condition: Run the script below in console (via SSH in my case). Result: Segmentation fault Note: the regular expression may look senseless, because it was shortened to the minimun length for reproducing the bug. Bug is reproducible on php 5.2.6, 5.2.9, 5.2.12 and 5.3.2. (Sorry, can't test on the latest version, waiting for someone to confirm the bug on 5.3.3). Sorry, can't make a backtrace on a production server, because it is necessary to recompile the php. In Windows this script works well. Test script: --------------- $str="<script>".str_repeat(".", 7000); //at least 6378 bytes (or more) $str=preg_replace("/<script>((?!qqqq).)*/", "", $str); Expected result: ---------------- Not a Segmentation fault :) Actual result: -------------- Debian-50-lenny-64-LAMP:/home/httpd# php -f segf.php Segmentation fault Debian-50-lenny-64-LAMP:/home/httpd# ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=52818&edit=1