Page MenuHomePhabricator

Unable to serialize JSON: Non-unserializable property set at $.ExtensionData.pageImages.0.frame.link-title
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error

MediaWiki version: 1.36.0-wmf.20

message
Unable to serialize JSON
c_message
Non-unserializable property set at $.ExtensionData.pageImages.0.frame.link-title

Impact

Seem 10 times on enwiki yesterday.

Prevents page content to be put in parser cache. This causes stale content to be served, or the page to be re-parsed on every page view.

Notes

Found using https://logstash.wikimedia.org/goto/ed6294878667165bc6ef1959ead1b20e

Details

Request ID
X8lH0wpAEKcAAUxi4F0AAACJ
Request URL
https://en.wikipedia.org/wiki/List_of_action_heroes

Event Timeline

daniel triaged this task as High priority.Dec 4 2020, 10:09 AM

Looking at the code in PageImageCandidate::jsonSerialize, the "frame" field shouldn't exist any more. Is it possible that we are looping though old data from old parses, and writing it back to new ParserOutput?

Note that all the instances are in pcache-stable. The problem is in this piece of code where flagged revs might take a parse from regular ParserCache and place it into the stable revision ParserCache. Given that it's only happening ~50 times a day, and the consequence is that we are serving the correct content from regular ParserCache instead of stable ParserCache, I propose we wait this one out.

Making a fix will be quite trivial, but before we deploy it the issue will most likely disappear on it's own because of cache expiry.

daniel lowered the priority of this task from High to Low.Dec 7 2020, 3:54 PM

dropping prio per @Pchelolo

daniel claimed this task.

Last seen on December 16. Should be resolved now due to parser cache expiry. Closing.