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

Reply via email to