Last modified: 2011-10-29 22:53:20 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T33098, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 31098 - Abysmal parser performance with certain kind of recursive input
Abysmal parser performance with certain kind of recursive input
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
Parser (Other open bugs)
1.20.x
All All
: Low normal (vote)
: ---
Assigned To: Tim Starling
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-09-22 15:59 UTC by Niklas Laxström
Modified: 2011-10-29 22:53 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Niklas Laxström 2011-09-22 15:59:27 UTC
Recent commits surfaced abysmal parser performance bug with certain kind of input. Basically it is a template, which uses {{int}} to fetch few messages, which call the template again. This seems to avoid all depth and size related checks that should prevent this kind of thing happening.

Will commit a minimal parser test that demonstrates the problem.
Comment 1 Niklas Laxström 2011-09-22 16:01:01 UTC
Parser test committed in r97821.
Comment 2 Platonides 2011-10-29 22:05:57 UTC
Performance bug? That looks like an *infinite* loop. Even worse, I suspect it may be possible to also trigger it from some extensions.
The easy way to fix this is to add a static variable to top reenterin intfunction, but it may not be generic enough.
Comment 3 Platonides 2011-10-29 22:29:21 UTC
Fixed in r101291.
You may want to add some tests for templates inside int messages. Doesn't seem to be tested right now (other than the ad-hoc tests I did to verify I fixed it right, of course).
Comment 4 Platonides 2011-10-29 22:53:20 UTC
This bug has been present since 1.14 (1.13 used wfMsgReal instead and is not affected). Good work.

It was introduced in r39412

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links