Last modified: 2011-10-29 22:53:20 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.
Parser test committed in r97821.
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.
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).
This bug has been present since 1.14 (1.13 used wfMsgReal instead and is not affected). Good work. It was introduced in r39412