Last modified: 2010-05-28 14:18:48 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 T10689, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 8689 - Long numeric lines kill the parser
Long numeric lines kill the parser
Product: MediaWiki
Classification: Unclassified
History/Diffs (Other open bugs)
All All
: Normal normal (vote)
: ---
Assigned To: Nobody - You can work on this!
Depends on:
  Show dependency treegraph
Reported: 2007-01-18 13:50 UTC by Nat Makarevitch
Modified: 2010-05-28 14:18 UTC (History)
2 users (show)

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


Description Nat Makarevitch 2007-01-18 13:50:21 UTC
Cannot obtain a diff page

To exhibit it:
Go to Wikipedia EN
Try to obtain the diff between:
 # (cur) (last)  2006-03-18T08:06:09
 # (cur) (last) 2006-03-18T08:03:39 Rory096

Problem: it simply hangs the serving process (till timeout)

Note: the article ('page') contains a huge line. It seems to me that it somewhat
breaks the parser
Comment 1 Aryeh Gregor (not reading bugmail, please e-mail directly) 2007-01-28 17:16:28 UTC
It loads fine for me.
Comment 2 Nat Makarevitch 2007-01-28 19:46:43 UTC
(Note: the article is 'Golden ratio')

Trying to access to the URL associated to this bug seems not possible ('Read
Timeout' error) with Iceweasel (Firefox) (Debian x86 package: and lynx (2.8.5-2sarge2.), either loged under a WP account or as
Comment 3 Derk-Jan Hartman 2010-05-21 19:33:27 UTC
I get a 500 error, because on of the revisions in question does not appear to be available.

Perhaps this is due to bug 20757 ?
Comment 4 Platonides 2010-05-28 13:34:36 UTC
> I get a 500 error, because on of the revisions in question does not appear to
> be available.
> Perhaps this is due to bug 20757 ?

No. The revision text is available

As Nat points out, that seems parser related.

You can view the diff with
Comment 5 Platonides 2010-05-28 13:52:50 UTC
That line produces:
PHP Fatal error:  Balloc() allocation exceeds list boundary in includes/parser/Parser.php on line 737

where the relevant lines are:

		foreach ( $lines as $outLine ) {
			$line = trim( $outLine );

			if ( $line == '' ) { # empty line, go to next line
				$out .= $outLine."\n";

The error seems to be comparing a numeric string of 2000016 characters ($line) with the empty string with the == equal. It is fixed by doing a strict comparison (===). Then the error moves at a different point.
Comment 6 Platonides 2010-05-28 14:18:48 UTC
Fixed in r67014

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