Page MenuHomePhabricator

Update script crashes on OpenID Connect schema changes
Closed, ResolvedPublicBUG REPORT

Description

I have installed and enabled OpenID Connect on MediaWiki 1.39, without configuration so far. For unrelated reasons, I need to run the update script, but this crashes in OpenID Connect’s schema changes:

Modifying table openid_connect...Wikimedia\Rdbms\DBQueryError from line 1618 of /usr/share/mediawiki/includes/libs/rdbms/database/Database.php: Error 42704: ERROR:  index "primary" does not exist

Function: Wikimedia\Rdbms\Database::sourceFile( /var/lib/mediawiki/extensions/OpenIDConnect/includes/../sql/postgres/ChangePrimaryKey.sql )
Query: DROP  INDEX "primary"


#0 /usr/share/mediawiki/includes/libs/rdbms/database/Database.php(1602): Wikimedia\Rdbms\Database->getQueryException()
#1 /usr/share/mediawiki/includes/libs/rdbms/database/Database.php(1576): Wikimedia\Rdbms\Database->getQueryExceptionAndLog()
#2 /usr/share/mediawiki/includes/libs/rdbms/database/Database.php(952): Wikimedia\Rdbms\Database->reportQueryError()
#3 /usr/share/mediawiki/includes/libs/rdbms/database/Database.php(3302): Wikimedia\Rdbms\Database->query()
#4 /usr/share/mediawiki/includes/libs/rdbms/database/Database.php(3240): Wikimedia\Rdbms\Database->sourceStream()
#5 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(103): Wikimedia\Rdbms\Database->sourceFile()
#6 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(807): Wikimedia\Rdbms\DBConnRef->__call()
#7 /usr/share/mediawiki/includes/installer/DatabaseUpdater.php(718): Wikimedia\Rdbms\DBConnRef->sourceFile()
#8 /usr/share/mediawiki/includes/installer/DatabaseUpdater.php(1034): DatabaseUpdater->applyPatch()
#9 /usr/share/mediawiki/includes/installer/DatabaseUpdater.php(547): DatabaseUpdater->modifyTable()
#10 /usr/share/mediawiki/includes/installer/DatabaseUpdater.php(515): DatabaseUpdater->runUpdates()
#11 /usr/share/mediawiki/maintenance/update.php(209): DatabaseUpdater->doUpdates()
#12 /usr/share/mediawiki/maintenance/includes/MaintenanceRunner.php(309): UpdateMediaWiki->execute()
#13 /usr/share/mediawiki/maintenance/doMaintenance.php(85): MediaWiki\Maintenance\MaintenanceRunner->run()
#14 /usr/share/mediawiki/maintenance/update.php(319): require_once('...')
#15 {main}

(Similiar issues happen if I comment out the offending line. There seems to be a deeper issue here.)

OS is Debian (Bookworm/stable), MediaWiki was installed from package manager, OpenID Connect 8.0.3.

Event Timeline

Aklapper changed the subtype of this task from "Task" to "Bug Report".

This happens also with a composer-based install using the official release tarball, and was confirmed to still happen with the recent 1.39 security release.

Thank you for reporting this and thank you for your patience. I'm just getting a chance to look at this now. It turns out that this bug is caused by the issue reported in T378904. It would help if you could test https://gerrit.wikimedia.org/r/1086541, the patch linked to that task, to verify that it fixes the issue for you. Thank you.

cicalese moved this task from Closed to Backlog on the MediaWiki-extensions-OpenID-Connect board.

This was erroneously closed as a duplication of T378904. It appears to be a separate issue affecting only Postgres. See T378904#10552156.

I would appreciate a bit more information on reproducing this issue. The original report states:

(Similiar issues happen if I comment out the offending line. There seems to be a deeper issue here.)

It would be helpful to know what the similar issues are. Presumably the offending line that was commented out was:

DROP  INDEX "primary";

Change #1170601 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/OpenIDConnect@master] Re-generate SQL files

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

taavi subscribed.

We hit this as well when trying to set up the upcoming mw-based Debian Wiki to use Extension:OpenIDConnect with our gitlab instance. Turns out the fix is simply re-generating the SQL files, so I've sent a patch.

Change #1170601 merged by jenkins-bot:

[mediawiki/extensions/OpenIDConnect@master] Re-generate SQL files

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

Change #1170635 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/OpenIDConnect@REL1_43] Re-generate SQL files

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

Change #1170636 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/OpenIDConnect@REL1_44] Re-generate SQL files

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

Change #1170635 merged by jenkins-bot:

[mediawiki/extensions/OpenIDConnect@REL1_43] Re-generate SQL files

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

Change #1170636 merged by jenkins-bot:

[mediawiki/extensions/OpenIDConnect@REL1_44] Re-generate SQL files

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