Edit report at https://bugs.php.net/bug.php?id=50551&edit=1
ID: 50551 Updated by: [email protected] Reported by: r dot badding at gmail dot com Summary: mb_ereg + mb_eregi crash -Status: Feedback +Status: No Feedback Type: Bug Package: mbstring related Operating System: win32 only - Windows XP PHP Version: 5.2.12 New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2011-09-23 06:44:36] webmaster at bluesting dot co dot za Bump! Can someone confirm or deny this issue please! ------------------------------------------------------------------------ [2011-09-20 09:36:31] webmaster at bluesting dot co dot za So I was worried that it was my version as I was using 5.2.14, I have now also tested 5.2.17 and 5.3.8 with the same results! I have disabled all extentions except: extension=php_mbstring.dll And I have tested the code on 2 different machines, an AMD and an Intel. Apache 2.0 and 2.2. index.php <?php echo mb_ereg('^/', $_SERVER['REQUEST_URI']); Running this line once as normal in your browser, there are no issues! But once you run this line with Apache Benchmark, Apache/PHP will crash. Now it's possible that it's Apache, however I have run multiple benchmarks on all kinds of code without crashes and on 2 different versions of Apache, only this single line of code keeps crashing PHP/Apache. If I convert the code to preg_match() or preg_match_all() I have no issues! To run Apache Benchmarks on this code, use: ab -t 30 -c 10 http://localhost/ Note: "ab" is found in your Apache "bin" directory. This will run the benchmark for 30 seconds with 10 concurrent connections: In "ab" I sometimes get the following message: apr_socket_recv: An existing connection was forcibly closed by the remote host. But this is usually after Apache/PHP has crashed! The crashes occur randomly and unpredictably. Sometimes early in the benchmark, sometimes late. Sometimes Apache crashes, sometimes it can continue normally. PS: I've tested this now on a fresh install of the thread safe 5.3.8 (32 bit on WinXP) with no other extentions enabled in php.ini. I've also tested both Apache 2.0 and 2.2, on 2 different dev machines, an AMD & Intel machine. If this is working for you, then try increasing the time limit and concurrent connections eg. ab -t 180 -c 50 http://localhost/ ------------------------------------------------------------------------ [2011-09-20 08:40:10] [email protected] @webmaster at bluesting dot co dot za Please provide a small reproduce script for the crashes you are experiencing. It could be due to something totally different. Also be sure to use 5.3.8 or snaps. ------------------------------------------------------------------------ [2011-09-20 07:58:33] webmaster at bluesting dot co dot za I have had very similar issues! At first I never noticed mb_ereg issues or crashes, until I started running some apache benchmarks on unrelated code to simulate server load, and noticed strange crashes. I eventually isolated the crashes to mb_ereg related code. To benchmark code with Apache Benchmark, I was using the "ab" command under apache/bin directory like this: ab -t 30 -c 10 http://localhost/ With some mb_ereg code running in the very beginning (doing url detection). The actual code is actually not important because I get crashes with every combination I try! I think using Apache Benchmark is better than running this code in a loop because it will create 10 simultaneous connections simulating higher load instead of just the one connection. When I convert my code to use preg_match_all() ... I have NO issues! Only mb_ereg related functions causing crashes! I tried mb_ereg() and mb_ereg_search_init() + mb_ereg_search_regs() with the same unpredictable crashes! Try the code above with Apache Benchmark and the commands I gave above, you should definately be able to simulate this issue! ------------------------------------------------------------------------ [2010-08-12 00:19:52] [email protected] Have you tried on 5.3? I cannot reproduce it trunk and Vista x86 with memory_limit=128MB and configure --enable-mbstring --enable-mbregex (no backtrack stack) ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=50551 -- Edit this bug report at https://bugs.php.net/bug.php?id=50551&edit=1
