Page MenuHomePhabricator

Wikibase CI fails with SiteLinkTableTest::testSaveLinksOfItem among others
Closed, ResolvedPublicPRODUCTION ERROR

Description

Wikibase CI is currently broken, Wikibase repo tests have 3 failures. The cause is not clear yet.

Examples of the failure:

There were 3 failures:

1) Wikibase\Lib\Tests\Store\Sql\SiteLinkTableTest::testSaveLinksOfItem with data set #0 (Wikibase\DataModel\Entity\Item Object (...))
Failed asserting that false is true.

src/extensions/Wikibase/lib/tests/phpunit/Store/Sql/SiteLinkTableTest.php:67
src/tests/phpunit/MediaWikiTestCase.php:424
src/maintenance/doMaintenance.php:94

2) Wikibase\Client\Tests\Store\Sql\BulkSubscriptionUpdaterTest::testUpdateSubscriptions
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
     5 => 'testwiki@Q11'
-    6 => 'testwiki@Q22'
 )

src/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php:155
src/tests/phpunit/MediaWikiTestCase.php:424
src/maintenance/doMaintenance.php:94

3) Wikibase\Client\Tests\Store\Sql\BulkSubscriptionUpdaterTest::testUpdateSubscriptions_startItem
Expectation failed for method name is equal to <string:reportMessage> when invoked 1 time(s).
Method was expected to be called 1 times, actually called 0 times.

src/tests/phpunit/MediaWikiTestCase.php:424
src/maintenance/doMaintenance.php:94

Repositories involved:

mediawiki/core
mediawiki/extensions/Wikibase
mediawiki/extensions/CirrusSearch
mediawiki/extensions/Elastica
mediawiki/extensions/GeoData mediawiki/extensions/cldr

Database backend: SQLite

PHPUnit command:

php -d zend.enable_gc=0 phpunit.php \
  --verbose \
  --log-junit /home/jenkins/workspace/mwext-Wikibase-repo-tests-sqlite-hhvm-jessie/log/junit-wikidata.xml \
  --group Wikibase,WikibaseAPI,Purtle

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 30 2018, 4:54 PM
Jakob_WMDE updated the task description. (Show Details)Oct 30 2018, 4:56 PM
hashar updated the task description. (Show Details)Oct 31 2018, 11:47 AM

I have added a few more informations.

The last success for master branch Oct 30, 2018 00:13:50 UTC triggered for https://gerrit.wikimedia.org/r/469926/23:

https://integration.wikimedia.org/ci/job/mwext-Wikibase-repo-tests-sqlite-hhvm-jessie/8713/

The next build is a failure, it got build 11 hours later at Oct 30, 2018 11:15:37 UTC

https://integration.wikimedia.org/ci/job/mwext-Wikibase-repo-tests-sqlite-hhvm-jessie/8714/

So something changed over those 11 hours. Something that might be useful is to compare the console text of both builds and see whether something looks suspicious. I sometime have success with:

curl --compressed 'https://integration.wikimedia.org/ci/job/mwext-Wikibase-repo-tests-sqlite-hhvm-jessie/8713/consoleText' > GOOD
curl --compressed 'https://integration.wikimedia.org/ci/job/mwext-Wikibase-repo-tests-sqlite-hhvm-jessie/8714/consoleText' > BAD
wdiff GOOD BAD|colordiff

Or vimdiff or your favorite differ :]

From a quick look at the diff, the extensions use the same commits and composer dependencies are the same. That leaves us with mediawiki/core, the which does not trigger the mwext-Wikibase-repo-tests-sqlite-hhvm-jessie job.

The wdiff of Zuul cloner for mediawiki/core:

INFO:zuul.Cloner:Prepared mediawiki/core repo with branch master at commit [-c6ad2554f40f8ebbe9e38ac64ea933076f348729-] {+6edf7d44fad239b5e806b7bbbc0a0a1d6e044fa9+}

Which gives:

$ git log --graph --oneline c6ad2554f40f8ebbe9e38ac64ea933076f348729..6edf7d44fad239b5e806b7bbbc0a0a1d6e044fa9
*   6edf7d44fa Merge "Use WikiMap methods for wiki ID logic in more places"
|\  
| * dbccb3a361 Use WikiMap methods for wiki ID logic in more places
* |   6d5cad1d57 Merge "Set the SaveParser logger in RevisionRenderer"
|\ \  
| * | a442f7e6dd Set the SaveParser logger in RevisionRenderer
|  /  
* |   2e23a44b39 Merge "rdbms: clean up return values of IDatabase write methods"
|\ \  
| * | 633eb437a3 rdbms: clean up return values of IDatabase write methods
|  /  
* |   988af574cb Merge "Use new WikiMap::getCurrentWikiDomain() for objectcache and profiler keyspace"
|\ \  
| * | 42a6f991e0 Use new WikiMap::getCurrentWikiDomain() for objectcache and profiler keyspace
|  /  
* |   ac0ab2c03a Merge "debug: Allow the DBQuery channel to be used"
|\ \  
| * | c58afe45b0 debug: Allow the DBQuery channel to be used
|  /  
* | 0f81b58eec Merge "Use WikiMap methods in ClassicInterwikiLookup instead of wfWikiId()"
|/  
* afc530c33e Use WikiMap methods in ClassicInterwikiLookup instead of wfWikiId()

It should be easy to reproduce on a local machine and bissect it. Potentially on CI one can send a commit that revert all the patches made and see whether the Wikibase magically passes :]

Change 470818 had a related patch set uploaded (by Tarrow; owner: Tarrow):
[mediawiki/core@master] Revert to test impact on Wikibase CI

https://gerrit.wikimedia.org/r/470818

Tarrow added a comment.EditedOct 31 2018, 1:01 PM

A test commit working on CI to revert that chain successfully worked. Now to identify which was the breaking commit.

Whoops looks like I was an idiot and assumed that it passing in core meant it was all good

A test commit working on CI to revert that chain successfully worked. Now to identify which was the breaking commit.

Amazing!

Change 470853 had a related patch set uploaded (by Hoo man; owner: Hoo man):
[mediawiki/core@master] DatabaseSqlite::insert: Fix affected row count

https://gerrit.wikimedia.org/r/470853

You are all heroes. Congratulations.

Change 470853 merged by jenkins-bot:
[mediawiki/core@master] DatabaseSqlite::insert: Fix affected row count

https://gerrit.wikimedia.org/r/470853

Jakob_WMDE closed this task as Resolved.Nov 1 2018, 10:19 AM

Woohoo, things are coming back green again. Looks like this can be closed.

Change 470818 abandoned by Tarrow:
Revert to test impact on Wikibase CI

https://gerrit.wikimedia.org/r/470818

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:08 PM