Bug 28292

Summary: На рекурсивном вызове функции падает с Segmentation Fault
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: php5Assignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: rider
Version: unstable   
Hardware: all   
OS: Linux   

Description Vitaly Lipatov 2012-12-31 00:56:52 MSK
# rpm -q php5
php5-5.3.18.20121017-alt1.1

Вызываем следующий код ($ php test.php):
<?php
function iii($n)
{
    iii($n);
}

iii('test');
?>

Получаем Segmentation Fault (ну видимо стек переполняется), с полной непонятной, отчего это. Впрочем подключение xdebug сразу показывает место ошибки.

На Ubuntu 12.10 (php5-cli 5.4.6-1ubuntu1) всё приличнее:
PHP Fatal error:  Out of memory (allocated -1145307136) (tried to allocate 65484 bytes) in /root/iii.php on line 4

На Fedora 17 (php-cli 5.4.9-1.fc17) так:
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 65484 bytes) in /root/iii.php on line 4
Comment 1 Vitaly Lipatov 2012-12-31 01:19:27 MSK
Если выставить suhosin.executor.max_depth = 100
то завершается молча (ну то есть в очередной раз функция не вызывается, стек раскручивается обратно и всё хорошо).
Comment 2 Anton Farygin 2015-01-23 12:45:15 MSK
$ php ~/test.php
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 130968 bytes) in /home/rider/test.php on line 4

$rpm -q php5
php5-5.5.20-alt1