Commit: ed038d2ee330f827e24dc865ec8963175c1bfc2e Author: Xinchen Hui <larue...@php.net> Mon, 2 Sep 2013 16:02:24 +0800 Parents: bfb1fe10cbe2a72678809e102231995db1a7b424 Branches: PHP-5.4 PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ed038d2ee330f827e24dc865ec8963175c1bfc2e Log: Add a XFAIL test for #64896 Bugs: https://bugs.php.net/64896 Changed paths: A Zend/tests/bug64896.phpt Diff: diff --git a/Zend/tests/bug64896.phpt b/Zend/tests/bug64896.phpt new file mode 100644 index 0000000..e3e9f05 --- /dev/null +++ b/Zend/tests/bug64896.phpt @@ -0,0 +1,47 @@ +--TEST-- +Bug #64896 (Segfault with gc_collect_cycles using unserialize on certain objects) +--XFAIL-- +We can not fix this bug with a significant (performace slow down) change to gc +--FILE-- +<?php +$bar = NULL; +class bad +{ + private $_private = array(); + + public function __construct() + { + $this->_private[] = 'php'; + } + + public function __destruct() + { + global $bar; + $bar = $this; + } +} + +$foo = new stdclass; +$foo->foo = $foo; +$foo->bad = new bad; + +gc_disable(); + +unserialize(serialize($foo)); +gc_collect_cycles(); +var_dump($bar); +/* will output: +object(bad)#4 (1) { + ["_private":"bad":private]=> + &UNKNOWN:0 +} +*/ +?> +--EXPECTF-- +bject(bad)#%d (1) { + ["_private":"bad":private]=> + array(1) { + [0]=> + string(3) "php" + } +} -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php