Page MenuHomePhabricator

Strange random problems with the parser
Closed, DeclinedPublic

Description

Author: cedric

Description:
Parsing problem

I used mediawiki 1.12.0 and 1.12.0-svn.
I tried with/without apc, eaccelerator, memcached, no cache, different plugins.

I have random parsing problems with all the pages, randomly (20% when I reload them): the page can be completely broken like "[{{SE[{{R}}{{S}}{{TPATH}}/CO}}ING a copy of the GNU General Public License" (see attachment).

I try a hint given on IRC: $wgParserConf['class'] = 'Parser_OldPP';
It seems to work definitely better.

Now I just have random minor bugs: sometimes (5%) non-replaced tags like "You should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU General Public License]"


Version: 1.12.x
Severity: major
OS: Linux
URL: http://www.generiquestele.com/Special:Version

Attached:

gtv-broken.jpg (534×791 px, 73 KB)

Details

Reference
bz13553

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:07 PM
bzimport set Reference to bz13553.
bzimport added a subscriber: Unknown Object (MLST).

Can you also try this instead of the Parser_OldPP:

$wgParserConf['preprocessorClass'] = 'Preprocessor_Hash';

This uses an alternate preprocessor implementation along with the new parser.

No additional information provided.

martin.groenemeyer wrote:

Edited a page and clicked preview button

I've also the problem of randomly broken pages.

I upgraded from an old version (don't know wich, sorry) to 1.12.0 and am using now the mediawiki debian (testing) package. I ran the /usr/share/mediawiki/maintenance/update.php update script.

I configured the mediawiki as a virtual server in apache with php5. I'm able to do some edits and views of pages without any problems. If I wait some minutes and restart editing I've broken pages like the one in the attachement. If I save the page the content in the database is also broken.

After some edits/previews the page is fine but randomly it break some edits later. My feeling is that a global state in apache/php from one of the forked apache childs is broken and I'm randomly getting a broken or fine apache child on my request.

To check the parser I run php parserTests.php from maintenance. The result is: Passed 488 of 505 tests (96.63%)... 17 tests failed! (e.g.: Running test Parents of subpages, two levels up, with lots of extra trailing slashes.... FAILED!, Running test dt/dd/dl test... FAILED!).

I'm not a php coder but I would like to help to trackdown the problem.

Attached:

screenshot_broken_parser.png (776×523 px, 32 KB)