#46156 [Asn]: Infinite recursion in class destructor causes crash

From: Date: Fri, 13 Mar 2009 11:12:46 +0000
Subject: #46156 [Asn]: Infinite recursion in class destructor causes crash
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-134662@lists.php.net to get a copy of this message
ID: 46156 Updated by: kalle@php.net Reported By: kalle@php.net Status: Assigned Bug Type: Reproducible crash Operating System: * -PHP Version: 5CVS-2008-11-11 +PHP Version: 5.3 Beta 1 Assigned To: dmitry New Comment: This one is a little odd, however I get a memory_limit error but straight after it crashes: <?php start: { $a = function($b) use($a) { $a(); }; } goto start; ?> Previous Comments: ------------------------------------------------------------------------ [2009-02-16 12:19:00] kalle@php.net Heres another one with __call(): <?php class Test { public function __call($call, Array $args) { call_user_func_array(Array($this, $call), $args); } } $test = new Test; $test->crash(); ?> ------------------------------------------------------------------------ [2008-12-05 07:28:28] kalle@php.net I've discovered one more crash and reported here of the same type: http://bugs.php.net/bug.php?id=46754 ------------------------------------------------------------------------ [2008-09-23 10:00:25] kalle@php.net Description: ------------ Creating a new instance of the same class in a class destructor which causes infinite recursion will cause PHP to crash, instead of throwing a memory_limit error. Dmitry told me to report this so it wouldn't be forgotten. Reproduce code: --------------- <?php class Crash { public function __destruct() { new self; } } new Crash; ?> Expected result: ---------------- memory_limit error Actual result: -------------- Crash ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46156&edit=1

« previous php.bugs (#134662) next »