FreeBSD 7.2-RELEASE i386
PHP 5.2.11
Код: Выделить всё
#!/usr/local/bin/php
<?php
for ($i = 0; $i < 100000; $i++)
{
$contents = 'sud' . str_repeat('a', $i) . 'bccess';
echo $i."\r\n";
$q = preg_replace('/d(a)+b/', '', $contents);
echo $i."\r\n";
}
?>
на других 2 серверах (FreeBSD 7.0-20080303-SNAP amd64, php 5.2.9 -- ставил не я) удалось повторить ошибку, в корку упал при i==3186
проблему удалось решить пересобрав pcre-7.9 с --disable-stack-for-recursion
добило же меня то что на доступных FreeBSD 6.x повторить ситуацию не получилось (pcre-7.9 так же)
глюк неприятный, при работе с mod_php apache серьезные скрипты валились
Код: Выделить всё
[Tue Sep 29 17:04:51 2009] [notice] child pid 2175 exit signal Illegal instruction (4)
[Tue Sep 29 17:04:52 2009] [notice] child pid 34794 exit signal Illegal instruction (4)
[Tue Sep 29 17:04:52 2009] [notice] child pid 2078 exit signal Illegal instruction (4)
[Tue Sep 29 17:06:36 2009] [notice] child pid 34798 exit signal Illegal instruction (4)
[Tue Sep 29 17:06:37 2009] [notice] child pid 34796 exit signal Illegal instruction (4)
в интернете информации за день мучений нашел крайне мало