Page MenuHomePhabricator

Particular diff seems to stay in an infinite loop, outputs an incomplete diff on a blank page
Closed, ResolvedPublic

Description

There seems to be a performance problem somewhere on the DairikiDiff engine on some particular diffs

See the history of this page on wikimedia.it: http://wiki.wikimedia.it/index.php?title=Rassegna_stampa&action=history&year=2015&month=10, in particular the huge diff made by @Nemo_bis on 31 oct 2015

Clicking on the diff links gives a broken page with no skin and only a partial diff content:

This is reproducible (comparing the same 2 texts) on current master (1.27alpha (3c15f0d) 02:20 31 oct 2015) and 1.25. I haven't tested other branches.

At first it failed because PHP required more than 150MB. Raising memory limit to 500MB lead to hitting max execution time of 30 seconds. Increasing it to 90 seconds didn't make it finish rendering.

In any case, the output is always the same, which leads to think the diff engine is stuck on some infinite loop that won't make any progress even with higher execution time limits.

Event Timeline

Ciencia_Al_Poder raised the priority of this task from to Needs Triage.
Ciencia_Al_Poder updated the task description. (Show Details)
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 31 2015, 1:03 PM
saper added a subscriber: saper.Oct 31 2015, 1:47 PM
Nnemo added a subscriber: Nnemo.Nov 3 2015, 2:09 AM
Restricted Application added a subscriber: StudiesWorld. · View Herald TranscriptNov 30 2015, 6:29 PM
Aklapper renamed this task from Particular diff seems to stay in an infinite loop, outputs an incomplete diff on a blank page (DairikiDiff) to Particular diff seems to stay in an infinite loop, outputs an incomplete diff on a blank page.Sun, Aug 11, 9:21 PM
Aklapper removed a project: Security-Core.

Still reproducible with the steps above.

MaxSem closed this task as Resolved.Mon, Aug 12, 4:18 AM
MaxSem claimed this task.
MaxSem added a subscriber: MaxSem.

Yeah, but that wiki is still running a 4 years old version of MW, riddled with unpatched vulnerabilities. This particular problem has been fixed in 1.28 with 20f066e97109b9fdedd74fe042d602b3459bb433.