#37239 [Com]: Regxp couses PHP script crach on Windows

2006-05-15 Thread beagle-php at sector99 dot com
 ID:   37239
 Comment by:   beagle-php at sector99 dot com
 Reported By:  dimox at inbox dot lv
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: Windows XP Pro SP2
 PHP Version:  4.4.2
 New Comment:

I have confirmed this problem on another box, this one running XPSP2 /
IIS like the original poster. I don't have a Linux environment with
4.4.2 on it to test that but I hope to shortly.

I can try running a trace but I'm a total noob with that kind of stuff.
I don't see a debug version of PHP 4.4.2 on the snaps page -- just one
for 5.x and 6.x. I tried using the Win32 debug download as referenced
in bug #37188 (see 25 Apr) but couldn't get it to work. Any suggestions
where to get a debug version?

Thanks for your help!


Previous Comments:


[2006-05-15 21:26:43] dimox at inbox dot lv

Yes, its works on Linux. This bug is Windows only.
On Apache/1.3.29 (Win32) PHP/4.3.10 this code works fine too.

What information I can provide, except backtrace?



[2006-05-14 12:28:11] [EMAIL PROTECTED]

Works perfectly fine on Linux.
Please provide more information.



[2006-05-12 20:03:50] beagle-php at sector99 dot com

I have used Dimox's code on a Windows 2000 server running IIS and PHP
4.4.2 and have reproduced the problem. The regular expression commands
on this server combination seem to be susceptible to crashing like
this.



[2006-05-02 11:03:31] dimox at inbox dot lv

Can I get trial version of MSVC6? If it exist, can you add link for me?
I'm only web-programmer and I has no tools for C++
development/debugging. 

Maybe you can run file test_bug.php on your oun PC with this tools and
generate this debug backtrace?

test_bug.php
 
?php
$text = 'block name=name1
  something
block name=name21223567890 qwertyuiop[[[]asdfghjkl;
\zxcvbnm,./zxcvbnmm, xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
blockend
blockend';

$regex='/\block\s*name=\([^\]+)\\s*\((.(?!\block\s))+?)\blockend\/is';

while(preg_match_all($regex, $text, $block_matches,PREG_SET_ORDER)){
  foreach($block_matches AS $block)
echo 'pre'; print_r($block_matches);
  $text = preg_replace($regex, '', $text);
}
?

This file causes 100% crash on my Win32 server. I realy want to help
PHP better.



[2006-04-29 01:42:06] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to Open. Thank you for helping
us make PHP better.





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/37239

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


#37239 [Com]: Regxp couses PHP script crach on Windows

2006-05-12 Thread beagle-php at sector99 dot com
 ID:   37239
 Comment by:   beagle-php at sector99 dot com
 Reported By:  dimox at inbox dot lv
 Status:   Open
 Bug Type: Reproducible crash
 Operating System: Windows XP Pro SP2
 PHP Version:  4.4.2
 New Comment:

I have used Dimox's code on a Windows 2000 server running IIS and PHP
4.4.2 and have reproduced the problem. The regular expression commands
on this server combination seem to be susceptible to crashing like
this.


Previous Comments:


[2006-05-02 11:03:31] dimox at inbox dot lv

Can I get trial version of MSVC6? If it exist, can you add link for me?
I'm only web-programmer and I has no tools for C++
development/debugging. 

Maybe you can run file test_bug.php on your oun PC with this tools and
generate this debug backtrace?

test_bug.php
 
?php
$text = 'block name=name1
  something
block name=name21223567890 qwertyuiop[[[]asdfghjkl;
\zxcvbnm,./zxcvbnmm, xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
blockend
blockend';

$regex='/\block\s*name=\([^\]+)\\s*\((.(?!\block\s))+?)\blockend\/is';

while(preg_match_all($regex, $text, $block_matches,PREG_SET_ORDER)){
  foreach($block_matches AS $block)
echo 'pre'; print_r($block_matches);
  $text = preg_replace($regex, '', $text);
}
?

This file causes 100% crash on my Win32 server. I realy want to help
PHP better.



[2006-04-29 01:42:06] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to Open. Thank you for helping
us make PHP better.





[2006-04-28 19:58:03] dimox at inbox dot lv

While i symlificate the code i forgot to remove \%\ from example and
posted text for parsig was too small to cause error. I found, that
block content must be more tan 1330-1360 simbols to couse script crash
- until this values it works fine! I increased all memory size values
in php.ini and in the code, but problem still exist. 

Changed code:

$text = 'block name=name1
  something
block name=name21223567890 qwertyuiop[[[]asdfghjkl;
\zxcvbnm,./zxcvbnmm, xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv  bdbdb 
1223567890 qwertyuiop[[[]asdfghjkl; \zxcvbnm,./zxcvbnmm,
xsxasxaxaxae dsvvzs vsv