bug64720.phpt 822 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --TEST--
  2. Bug #64720 (SegFault on zend_deactivate)
  3. --FILE--
  4. <?php
  5. class Stat {
  6. private static $requests;
  7. public static function getInstance() {
  8. if (!isset(self::$requests[1])) {
  9. self::$requests[1] = new self();
  10. }
  11. return self::$requests[1];
  12. }
  13. public function __destruct() {
  14. unset(self::$requests[1]);
  15. }
  16. }
  17. class Foo {
  18. public function __construct() {
  19. Stat::getInstance();
  20. }
  21. }
  22. class ErrorTest {
  23. private $trace;
  24. public function __construct() {
  25. $this->trace = debug_backtrace(1);
  26. }
  27. }
  28. class Bar {
  29. public function __destruct() {
  30. Stat::getInstance();
  31. new ErrorTest();
  32. }
  33. public function test() {
  34. new ErrorTest();
  35. }
  36. }
  37. $foo = new Foo();
  38. $bar = new Bar();
  39. $bar->test();
  40. ?>
  41. OK
  42. --EXPECT--
  43. OK