Last modified: 2012-11-28 14:04:45 UTC
There is a strange timeout during testing that seems to be be associated with EntityFactory and/or EntityContentFactory in ApiModifyEntity, when they are used in try-catch pairs. Possible workaround is to replace the try-catch pairs as they are unnecessary.
Change I0a80ef86: Fix for strange timeout during test
There is one changeset where this problem has been identified to be of a slightly different cause Change I38b2c3e0: Fix timeout problems in tests for store And there is another changeset where the problem was first spotted Change Ib02c6554: (Bug 40381) Use prefixed id Note that first spotted does not mean it emerged in this changeset.
The timeout emerged in a test after the fix in comment 1 as the following. There was 1 error: 1) Wikibase\Test\ApiSetItemTest::testSetItem PHP_Invoker_TimeoutException: Execution aborted after 10 seconds /home/john/Workspace/core/includes/cache/LinkCache.php:45 /home/john/Workspace/core/includes/Title.php:2893 /home/john/Workspace/core/includes/Title.php:4326 /home/john/Workspace/core/includes/Title.php:2717 /home/john/Workspace/core/includes/Title.php:2572 /home/john/Workspace/core/includes/Title.php:1895 /home/john/Workspace/core/includes/Title.php:2231 /home/john/Workspace/core/includes/Title.php:1699 /home/john/Workspace/Wikibase/repo/includes/content/EntityContent.php:306 /home/john/Workspace/Wikibase/repo/includes/api/Api.php:346 /home/john/Workspace/Wikibase/repo/includes/api/ApiModifyEntity.php:175 /home/john/Workspace/core/includes/api/ApiMain.php:820 /home/john/Workspace/core/includes/api/ApiMain.php:347 /home/john/Workspace/core/tests/phpunit/includes/api/ApiTestCase.php:66 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiSetItemTest.php:312 /home/john/Workspace/core/tests/phpunit/MediaWikiTestCase.php:87 /home/john/Workspace/core/tests/phpunit/MediaWikiPHPUnitCommand.php:45 /home/john/Workspace/core/tests/phpunit/phpunit.php:107
By shortening the timeout I got these. There were 5 errors: 1) Wikibase\Test\ApiSetItemTest::testSetItem PHP_Invoker_TimeoutException: Execution aborted after 2 seconds /home/john/Workspace/Wikibase/repo/includes/updates/EntityModificationUpdate.php:76 /home/john/Workspace/core/includes/DataUpdate.php:101 /home/john/Workspace/core/includes/WikiPage.php:2040 /home/john/Workspace/core/includes/WikiPage.php:1796 /home/john/Workspace/Wikibase/repo/includes/content/EntityContent.php:411 /home/john/Workspace/Wikibase/repo/includes/EditEntity.php:494 /home/john/Workspace/Wikibase/repo/includes/api/ApiModifyEntity.php:225 /home/john/Workspace/core/includes/api/ApiMain.php:820 /home/john/Workspace/core/includes/api/ApiMain.php:347 /home/john/Workspace/core/tests/phpunit/includes/api/ApiTestCase.php:66 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiSetItemTest.php:183 /home/john/Workspace/core/tests/phpunit/MediaWikiTestCase.php:87 /home/john/Workspace/core/tests/phpunit/MediaWikiPHPUnitCommand.php:45 /home/john/Workspace/core/tests/phpunit/phpunit.php:107 2) Wikibase\Test\ApiSetItemTest::testSetItemData with data set #0 ('Berlin', array(array(array('de', ''), array('ru', ''), array('en', 'Stuff'), array('fr', 'Berlin'))), array(array('Stuff', 'Berlin', 'Berlin', 'Berlin'))) PHP_Invoker_TimeoutException: Execution aborted after 2 seconds /home/john/Workspace/Wikibase/repo/includes/updates/EntityModificationUpdate.php:76 /home/john/Workspace/core/includes/DataUpdate.php:101 /home/john/Workspace/core/includes/WikiPage.php:2040 /home/john/Workspace/core/includes/WikiPage.php:1796 /home/john/Workspace/Wikibase/repo/includes/content/EntityContent.php:411 /home/john/Workspace/Wikibase/repo/includes/EditEntity.php:494 /home/john/Workspace/Wikibase/repo/includes/api/ApiModifyEntity.php:225 /home/john/Workspace/core/includes/api/ApiMain.php:820 /home/john/Workspace/core/includes/api/ApiMain.php:347 /home/john/Workspace/core/tests/phpunit/includes/api/ApiTestCase.php:66 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:400 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:370 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiSetItemTest.php:615 /home/john/Workspace/core/tests/phpunit/MediaWikiTestCase.php:87 /home/john/Workspace/core/tests/phpunit/MediaWikiPHPUnitCommand.php:45 /home/john/Workspace/core/tests/phpunit/phpunit.php:107 3) Wikibase\Test\ApiSetItemTest::testSetItemData with data set #1 ('Berlin', array(array(array('de', ''), array('ru', ''), array('en', 'Stuff'), array('fr', 'Bla bla'))), array(array('Stuff', 'Hovedsted og delstat og i Forbundsrepublikken Tyskland.', 'Hovudstad og delstat i Forbundsrepublikken Tyskland.', 'Bla bla'))) PHP_Invoker_TimeoutException: Execution aborted after 2 seconds /home/john/Workspace/Wikibase/repo/includes/updates/EntityModificationUpdate.php:76 /home/john/Workspace/core/includes/DataUpdate.php:101 /home/john/Workspace/core/includes/WikiPage.php:2040 /home/john/Workspace/core/includes/WikiPage.php:1796 /home/john/Workspace/Wikibase/repo/includes/content/EntityContent.php:411 /home/john/Workspace/Wikibase/repo/includes/EditEntity.php:494 /home/john/Workspace/Wikibase/repo/includes/api/ApiModifyEntity.php:225 /home/john/Workspace/core/includes/api/ApiMain.php:820 /home/john/Workspace/core/includes/api/ApiMain.php:347 /home/john/Workspace/core/tests/phpunit/includes/api/ApiTestCase.php:66 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:400 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:370 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiSetItemTest.php:615 /home/john/Workspace/core/tests/phpunit/MediaWikiTestCase.php:87 /home/john/Workspace/core/tests/phpunit/MediaWikiPHPUnitCommand.php:45 /home/john/Workspace/core/tests/phpunit/phpunit.php:107 4) Wikibase\Test\ApiSetItemTest::testSetItemData with data set #2 ('Berlin', array(array(array('de', 'Dickes B', ''), array('en', 'Bla bla'), array('fr', 'Bla bla'))), array(array(array('Bla bla'), array('Dickes B'), array('Bla bla')))) PHP_Invoker_TimeoutException: Execution aborted after 2 seconds /home/john/Workspace/Wikibase/repo/includes/updates/EntityModificationUpdate.php:76 /home/john/Workspace/core/includes/DataUpdate.php:101 /home/john/Workspace/core/includes/WikiPage.php:2040 /home/john/Workspace/core/includes/WikiPage.php:1796 /home/john/Workspace/Wikibase/repo/includes/content/EntityContent.php:411 /home/john/Workspace/Wikibase/repo/includes/EditEntity.php:494 /home/john/Workspace/Wikibase/repo/includes/api/ApiModifyEntity.php:225 /home/john/Workspace/core/includes/api/ApiMain.php:820 /home/john/Workspace/core/includes/api/ApiMain.php:347 /home/john/Workspace/core/tests/phpunit/includes/api/ApiTestCase.php:66 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:400 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:370 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiSetItemTest.php:615 /home/john/Workspace/core/tests/phpunit/MediaWikiTestCase.php:87 /home/john/Workspace/core/tests/phpunit/MediaWikiPHPUnitCommand.php:45 /home/john/Workspace/core/tests/phpunit/phpunit.php:107 5) Wikibase\Test\ApiSetItemTest::testSetItemData with data set #3 ('Berlin', array(array(array('dewiki', ''), array('srwiki', ''), array('nnwiki', 'Berlin X'), array('svwiki', 'Berlin X'))), array(array('Berlin', 'Berlin', 'Berlin X', 'Berlin X'))) PHP_Invoker_TimeoutException: Execution aborted after 2 seconds /home/john/Workspace/core/includes/WikiPage.php:283 /home/john/Workspace/core/includes/WikiPage.php:302 /home/john/Workspace/core/includes/WikiPage.php:341 /home/john/Workspace/core/includes/WikiPage.php:509 /home/john/Workspace/core/includes/WikiPage.php:562 /home/john/Workspace/core/includes/WikiPage.php:614 /home/john/Workspace/Wikibase/repo/includes/api/ApiGetEntities.php:132 /home/john/Workspace/core/includes/api/ApiMain.php:820 /home/john/Workspace/core/includes/api/ApiMain.php:347 /home/john/Workspace/core/tests/phpunit/includes/api/ApiTestCase.php:66 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiModifyItemBase.php:471 /home/john/Workspace/Wikibase/repo/tests/phpunit/includes/api/ApiSetItemTest.php:606 /home/john/Workspace/core/tests/phpunit/MediaWikiTestCase.php:87 /home/john/Workspace/core/tests/phpunit/MediaWikiPHPUnitCommand.php:45 /home/john/Workspace/core/tests/phpunit/phpunit.php:107