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

Reply via email to