Page MenuHomePhabricator

Fatal error of type DBQueryError, with previous PHP Notice: Undefined offset: 1
Closed, ResolvedPublic

Description

The commit in rEUME402404d4cedaedb9798122f9d5c779adc5fea808 causes an error reported in Topic:Todlzx0oqxc758g0 when merging watchlist entries (error happens if there are watchisted pages on both users being merged). See post-review message in https://gerrit.wikimedia.org/r/#/q/I18e898c4a55e0f5e553f94fa41967f8f54d07096

Once fixed needs backport to REL1_28

Steps to reproduce:
First you need 2 users, second ensure that their watchlist has the same page, then do merge and database error occurred.

The error also still exist in master branch.

Event Timeline

UserMerge is not currently being used on Wikimedia sites, so this isn't a deployment blocker.

Any news on this? We have several users that created a second account when they forgot their password and now we can't merge them because of this bug.

Marianian subscribed.

Developers, this bug is affecting NSindex when we tried to merge an old user account into an active one (see this page), and thus the problem basically renders the extension useless. Currently using:

  • MediaWiki 1.30 (the latest version at time of report)
  • PHP 5.6.30
  • Database MySQL 5.5.55

At this stage I consider this to be a high-priority bug owing to the seriousness of the bug in relation to the extension.

For users affected by this bug, kindly ask the user requesting the merge to clear their watchlist. They can edit the watchlist in "raw mode" and copy its contents to a text file before clearing it, and then paste it again after the merge.

Change 420026 had a related patch set uploaded (by 星耀晨曦; owner: 星耀晨曦):
[mediawiki/extensions/UserMerge@master] Pass key of the array instead of the value to exploade()

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

Change 420026 merged by jenkins-bot:
[mediawiki/extensions/UserMerge@master] Fix misuse of array values in deduplicateWatchlistEntries()

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

1.28 is obsoleted, may need backport to REL1_30 and REL1_31.

Change 433696 had a related patch set uploaded (by 星耀晨曦; owner: 星耀晨曦):
[mediawiki/extensions/UserMerge@REL1_31] Fix misuse of array values in deduplicateWatchlistEntries()

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

Change 433696 merged by jenkins-bot:
[mediawiki/extensions/UserMerge@REL1_31] Fix misuse of array values in deduplicateWatchlistEntries()

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