Page MenuHomePhabricator

[Bug] Warning: Attempted to serialize unserializable builtin class Closure
Closed, InvalidPublic

Description

I am now running hhvm locally and have somewhat verbose error output.

When running phpunit on WikibaseClient tests, I get warnings about trying to serialize a closure. idk why hhvm complains about this but not on jenkins, etc.

We can probably have the test achieve what it needs in another way.

Warning: Attempted to serialize unserializable builtin class Closure$#6;1400906535 in /var/www/wiki/core/tests/phpunit/MediaWikiTestCase.php on line 351
#0: /var/www/wiki/core/tests/phpunit/MediaWikiTestCase.php (351): error_handler
#1: /var/www/wiki/core/tests/phpunit/MediaWikiTestCase.php (312): stashMwGlobals
#2: /var/www/wiki/core/tests/phpunit/MediaWikiTestCase.php (389): setMwGlobals
#3: /var/www/wiki/core/extensions/Wikidata/extensions/Wikibase/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php (171): mergeMwGlobalArrayValue
#4: testHandleChanges
#5: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestCase.php (866): invokeArgs
#6: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestCase.php (743): runTest
#7: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestResult.php (609): runBare
#8: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestCase.php (699): run
#9: /var/www/wiki/core/tests/phpunit/MediaWikiTestCase.php (131): run
#10: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php (722): run
#11: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php (722): run
#12: /var/www/wiki/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php (722): run
#13: /var/www/wiki/core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php (406): run
#14: /var/www/wiki/core/vendor/phpunit/phpunit/src/TextUI/Command.php (153): doRun
#15: /var/www/wiki/core/vendor/phpunit/phpunit/src/TextUI/Command.php (105): run
#16: /var/www/wiki/core/tests/phpunit/phpunit.php (241): main

Event Timeline

aude raised the priority of this task from to Needs Triage.
aude updated the task description. (Show Details)
aude subscribed.

See https://github.com/wikimedia/mediawiki/blob/master/tests/phpunit/MediaWikiTestCase.php#L355 which was introduced by me in https://github.com/wikimedia/mediawiki/commit/491993a2f5c0321e1511571d5207162b31ef2c20

We catch php exceptions about serializing and unserializing closures.
Apparently HHVM sends a Warning instead though?

Odd how this has not happened on jenkins, perhaps a slightly different configuration?

might be related to T71054.

I have an error handler set and:

ini_set( "display_errors", 1 );
error_reporting( E_ALL );

without explicitly setting the error handler, hhvm is not so verbose and it would just be logged.

Lydia_Pintscher set Security to None.
Lydia_Pintscher moved this task from incoming to ready to go on the Wikidata board.
Jonas renamed this task from Warning: Attempted to serialize unserializable builtin class Closure to [Bug] Warning: Attempted to serialize unserializable builtin class Closure.Aug 14 2015, 9:12 AM