Page MenuHomePhabricator

Erratic total failure of unstrip phase in new preprocessor
Closed, ResolvedPublic

Description

Split off from bug 12056. Input such as

x<nowiki>y</nowiki>z

is converted to something like:

x<del>UNIQ225ad7a62aaa0e75-nowiki-00000001-QINU<del>z

where <del> is the delete character, 0x7f. Typcially this occurs in the pre-save transform, so the result is saved into articles, leading to diffs such as these:

http://commons.wikimedia.org/w/index.php?title=Template_talk:AdminWelcome/en&diff=8765512&oldid=8763902
http://translatewiki.net/w/?title=Process/tasks&diff=prev&oldid=164002

All XML-style tag extensions are affected.

On some installations this happens all the time, on others it happens randomly and is not reproducible. It has been reported on:

  • Roan Kattouw's Windows test server. Reproducible with PHP 5.2.4 cgi/fcgi, not observed in the same installation under the CLI SAPI.
  • Unknown servers in Wikimedia's app cluster. Is it server dependent or random?
  • Reproducibly on Bertrand Grondin's server at grondin.tuxfamily.org
  • Randomly on translatewiki.net, reported by Nikerabbit

During an attempt to narrow down the problem on Roan Kattouw's server, an odd bug was observed where a Title object would disappear, triggering a fatal "cannot call member function of non-object". This may or may not be related.


Version: 1.12.x
Severity: blocker

Details

Reference
bz12154

Event Timeline

bzimport raised the priority of this task from to High.Nov 21 2014, 9:58 PM
bzimport added a project: MediaWiki-Parser.
bzimport set Reference to bz12154.
bzimport added a subscriber: Unknown Object (MLST).
  • Bug 12162 has been marked as a duplicate of this bug. ***

Possible fix in r28004, please test.

(In reply to comment #2)

Possible fix in r28004, please test.

That did it, at least for me. <nowiki>, <ref>, <references>, <redircite> and <toggledisplay> now work for me.

Nikerabbit reports that it's fixed on BetaWiki.

We'll call this provisionally fixed. But it might be nice to remove the failure mode at some stage.