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

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 9 2017, 8:41 PM

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

Krinkle removed a subscriber: Krinkle.Apr 11 2017, 2:19 AM

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.

Samtar added a subscriber: Samtar.Sep 16 2017, 11:51 AM
Marianian triaged this task as High priority.Feb 16 2018, 10:58 AM
Marianian added a subscriber: Marianian.

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.

Aklapper raised the priority of this task from High to Needs Triage.Feb 16 2018, 1:00 PM

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.

RazeSoldier updated the task description. (Show Details)Mar 16 2018, 11:55 AM

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

RazeSoldier triaged this task as Normal priority.Mar 16 2018, 1:40 PM

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

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

RazeSoldier closed this task as Resolved.May 1 2018, 5:34 PM
RazeSoldier removed a project: Patch-For-Review.

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