Author: heidi
Description:
Encountered an issue where MediaWiki exhaust allowed execution time in certain functions in DairikiDiff.php on a certain fairly large article (~130KB) with a large table. Triggers at various points in the code, but primarily in _DiffEngine::_diag
[Thu Jun 06 00:43:42 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 1286
[Thu Jun 06 00:43:56 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 1285
[Thu Jun 06 05:14:31 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 402
[Thu Jun 06 05:16:02 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php(399) : assert code on line 1
[Thu Jun 06 05:16:18 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php(399) : assert code on line 1
[Thu Jun 06 05:17:29 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 399
[Thu Jun 06 05:17:44 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 397
[Thu Jun 06 05:19:16 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 399
[Thu Jun 06 05:26:13 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php(399) : assert code on line 1
[Thu Jun 06 05:26:57 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 399
[Thu Jun 06 05:27:16 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 398
[Thu Jun 06 05:27:21 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 397
[Thu Jun 06 05:35:09 2013] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in [...]/includes/diff/DairikiDiff.php on line 402
Dumped the local and class variable space in _DiffEngine::_diag on line 375, right before entering the for-loop. It's found in the attached file.
Presumably this is not intended behavior on encountering a large diff? The edits themselves are fairly minor, and it doesn't have any issues on different, much larger (400KB) table.
Version: 1.21.x
Severity: major
OS: Linux