Page MenuHomePhabricator

Page Preview permanently broken after title is renamed
Closed, DeclinedPublic

Description

When reading https://en.wikipedia.org/wiki/Side-channel_attack, hovering "Meltdown" produces an error saying the summary is not available:

Screen Shot 2018-01-09 at 20.08.48.png (428×933 px, 98 KB)

Summaries for other links on the page work fine. I can consistently reproduce this after clearing browser cache, and in Incognito mode, in other browsers, and also after purging the target page from MediaWiki using action=purge.

The Page-Previews code is trying to fetch the summary from the following address https://en.wikipedia.org/api/rest_v1/page/summary/Meltdown_(security_vulnerability) which consistently responds with a 404 Not Found status:

{"type":"https://mediawiki.org/wiki/HyperSwitch/errors/not_found#page_revisions","title":"Not found.","method":"get","detail":"Page was deleted","uri":"/en.wikipedia.org/v1/page/summary/Meltdown_(security_vulnerability)"}

This is happening on January 9th.

Five days earlier, on January 4th, the article was indeed "deleted", as part of a rename.

Before January 4th, the article now named "Meltdown (security vulnerability)" on en.wikipedia.org, was named "Meltdown (security bug)". On January 4th, a redirect existing at "Meltdown (security vulnerability)" was deleted as part of renaming the page from "Meltdown (security bug)" to "Meltdown (security vulnerability)".

(cur | prev) 02:23, 4 January 2018‎ Legoktm (talk | contribs)‎ m . . (5,507 bytes) (0)‎ . . (Legoktm moved page Meltdown (security bug) to Meltdown (security vulnerability) over redirect: per talk page)

02:23, 4 January 2018 Legoktm (talk | contribs) deleted redirect Meltdown (security vulnerability) by overwriting (Deleted to make way for move)

It seems that despite 5 fives days having passed, many edits (and therefore purges), as well as manual purges, the summary is still broken.

Event Timeline

Hmm, that's strange. I just tried it a few minutes ago, then I saw the page deleted 404 on both the summary and the Parsoid version of this page.

https://en.wikipedia.org/api/rest_v1/page/html/Meltdown_(security_vulnerability)

Now those appear to be returning 200 with proper extract_html. The page preview looks ok, too.

Screen Shot 2018-01-09 at 2.11.02 PM.png (304×552 px, 105 KB)

Maybe someone else did something to purge these in RB?

Hm, I can no longer reproduce this issue nor can I find anything suspicious in Cassandra storage for these pages. I'm not sure how to debug this so if nobody objects I'm inclined to close this task as no action can be taken.

I've tried to reproduce the bug by replaying similar events on test2.wikipedia.org, but was unable to produce a state where a page had its summary object return 404 Not Found.

https://test2.wikipedia.org/wiki/PagePreviews

Timeline:

  • Create "Example (one)" as regular page, and create "Example (two)" as redirect to "Example (one)".
    • At this time, hovering the above links both display the preview of "Example (one)".
  • Renamed page "Example (one)" to "Example (two)" over a redirect. This internally results in a automatic deletion of "Example (two)".
    • At this time, hovering the above links both display the preview of "Example (two)". When hovering the link for "one", the Network inspector shows RESTBase as performing a 302 redirect for the preview of "one" to "two". Still working as expected.
  • Made an edit to page at "Example (two)".
  • Made an edit to redirect at "Example (one)". This means in the future, unlike originally, MediaWiki will not silently delete "Example (one)", because it has more than one edit in its history.
  • Renamed page "Example (two)" back to "Example (one)". During the move, unlike originally, a prompt appeared saying "The destination page "Example (one)" already exists. Do you want to delete it to make way for the move?". Answered with "Yes, delete the page".
    • At this time, hovering the above links both display the preview of "Example (one)". When hovering the link for "two", the Network inspector shows RESTBase as performing a 302 redirect for the preview of "two" to "one". Still working as expected.
238482n375 added a project: acl*security.
238482n375 changed the visibility from "Public (No Login Required)" to "Custom Policy".
238482n375 subscribed.
This comment was removed by Vgutierrez.
Vgutierrez changed the visibility from "Custom Policy" to "Public (No Login Required)".
Vgutierrez removed a subscriber: 238482n375.