баг 5.2.12 win32

  • Автор темы Автор темы akd
  • Дата начала Дата начала

akd

dive now, work later
Команда форума
баг 5.2.12 win32

Народ, благодаря ошибке случайно натолкнулся.
результат выполнения на моей машине (Apache/2.2.14 (Win32) PHP/5.2.12) - падение и запуск дебаггера вижл студии.
я нашел известный баг или нет? попробуйте кому не лень.

PHP:
<?php
class simpleTest
{
    public function  __call($name,  $arguments) {
        $this->simpleBug();
    }
}

$st = new simpleTest();
$methodcall = 'sssss';
$st->$methodcall();
?>
 
akd
А в чем собственно баг?
Имеем бесконечную рекурсию, которая и падает по переполнению стека.

Хотя конечно по хорошему надо бы какую-либо ошибку выдавать, а не падать с ошибкой сегментирования(Linux)
 
phprus
та я понимаю что происходит, я именно о том, шо падать - не выход :-)
 
akd
Судя по багам на bugs.php.net они считают, что при переполнении стека можно падать полностью.
 
понял, расслабляюсь и получаю удовольствие :-))

хотя, имхо, отловить два вызова __call подряд не очень сложно .. но я внутрь не заглядывал, може там магия какая :-)
 
а зачем так все усложнять?

function a() { a(); }
a();

UPDATE: а так однако уже не сегфолтится. интересно =)
 
fixxxer
а зачем так все усложнять?
А так все было-бы слишком просто :)
Да и как ты написал оно и не падает.

akd
отловить два вызова __call подряд
Два вызова подряд не обязательно зацикленная рекурсия. Тут по логике надо отслеживать когда все эти вызовы съедят весь стек. Ведь для рекурсии из функций это как-то отслеживается.
 
phprus
тоже правда. вопсчем, поздее как время будет, закомичу это в трекер а там видно будет.
 
Сверху