Page MenuHomePhabricator

Warning: Attempted to serialize unserializable builtin class Closure$...
Closed, DuplicatePublic

Description

$ php phpunit.php --verbose --debug
vagrant@nemobis:/srv/vagrant$ grep -Eo "Warning: Attempted to serialize unserializable builtin class[^;]+" hhvm-phpunit-all-unext-2014-08-02.txt | sort | uniq -c

28 Warning: Attempted to serialize unserializable builtin class Closure$
 1 Warning: Attempted to serialize unserializable builtin class Closure$__construct
 1 Warning: Attempted to serialize unserializable builtin class Closure$efStripKeyRecursive
 1 Warning: Attempted to serialize unserializable builtin class Closure$jsonConfigIsStorage
 1 Warning: Attempted to serialize unserializable builtin class Closure$MediaWiki\Extensions\OAuth\MWOAuthSetup::unconditionalSetup
14 Warning: Attempted to serialize unserializable builtin class Closure$SMW\Setup::registerFunctionHooks
 4 Warning: Attempted to serialize unserializable builtin class Closure$SMW\Setup::registerParserHooks
 1 Warning: Attempted to serialize unserializable builtin class Closure$wfParserFunctionsTests

i.e.

[...]

Warning: Attempted to serialize unserializable builtin class Closure$;1491934853$837579c3e3c61d749052dcdb1dc7f1b6$ in /srv/vagrant/mediawiki/tests/phpunit/MediaWikiTestCase.php on line 354

[...]

Fatal error: Stack overflow in /srv/vagrant/mediawiki/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation/Object.php on line 72

On:

ii hhvm 3.3-dev+20140728+wm amd64 HipHop Virtual Machine, a JIT replacement for PHP
$ uname -a
Linux nemobis 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

But also:
$ php5 phpunit.php --verbose --debug

[...]

Fatal error: call_user_func_array(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Mock_NullUpdater_0ceeba00" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /srv/vagrant/mediawiki/extensions/TwnMainPage/CachedStat.php on line 63

Call Stack:

  0.0008     253408   1. {main}() /srv/vagrant/mediawiki/tests/phpunit/phpunit.php:0
  0.5916   30700872   2. MediaWikiPHPUnitCommand::main() /srv/vagrant/mediawiki/tests/phpunit/phpunit.php:160
  0.5916   30713336   3. PHPUnit_TextUI_Command->run() /srv/vagrant/mediawiki/tests/phpunit/MediaWikiPHPUnitCommand.php:42
 15.1502  214785608   4. PHPUnit_TextUI_TestRunner->doRun() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php:176
 15.1537  215101168   5. PHPUnit_Framework_TestSuite->run() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php:350
 15.3059  215103400   6. PHPUnit_Framework_TestSuite->run() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:709
135.2277  340050928   7. PHPUnit_Framework_TestSuite->run() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:709
135.2278  340051696   8. PHPUnit_Framework_TestSuite->runTest() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:749
135.2278  340052176   9. MediaWikiTestCase->run() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:779
135.2305  340052976  10. PHPUnit_Framework_TestCase->run() /srv/vagrant/mediawiki/tests/phpunit/MediaWikiTestCase.php:133
135.2305  340053464  11. PHPUnit_Framework_TestResult->run() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:783
135.2309  340056000  12. PHPUnit_Framework_TestCase->runBare() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestResult.php:648
135.2890  340379888  13. PHPUnit_Framework_TestCase->runTest() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:838
135.2890  340380696  14. ReflectionMethod->invokeArgs() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:988
135.2890  340381248  15. TemplateCategoriesTest->testTemplateCategories() /srv/vagrant/mediawiki/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:988
137.7823  305005552  16. RunJobs->execute() /srv/vagrant/mediawiki/tests/phpunit/includes/TemplateCategoriesTest.php:47
137.7837  305073760  17. JobRunner->run() /srv/vagrant/mediawiki/maintenance/runJobs.php:80
138.2449  305631832  18. CachedStatJob->run() /srv/vagrant/mediawiki/includes/jobqueue/JobRunner.php:109
138.2449  305631960  19. CachedStat->doUpdate() /srv/vagrant/mediawiki/extensions/TwnMainPage/CachedStat.php:117
138.2449  305632616  20. call_user_func_array() /srv/vagrant/mediawiki/extensions/TwnMainPage/CachedStat.php:63

Happens with --verbose and/or --debug (also php5), but not without, AFAICS. Not sure where the bug is.


Version: unspecified
Severity: normal

Details

Reference
bz69054