On Wed, Jan 19, 2022 at 09:58:52PM +0100, Paul Gevers wrote:
> Hi Bryce,
> 
> On 19-01-2022 10:28, Bryce Harrington wrote:
> 
> > With [4] applied, I'm seeing the following dumped on armhf:
> > 
> > ## https://autopkgtest.ubuntu.com/packages/m/mediawiki/jammy/armhf
> > cat: /var/log/mediawiki/error.log: No such file or directory
> > 2022-01-19 09:16:57 autopkgtest-lxd-eeoxik autopkgtestwiki: 
> > [e33d1ec89af515673078437e] /mediawiki/index.php/Main_Page   PHP Fatal Error 
> > from line 110 of /usr/share/mediawiki/includes/json/FormatJson.php: Maximum 
> > execution time of 30 seconds exceeded
> > #0 [internal function]: MWExceptionHandler::handleFatalError()
> > #1 {main}
> > 2022-01-19 09:17:27 autopkgtest-lxd-eeoxik autopkgtestwiki: 
> > [1284cbae5a84eb5387f33003] /mediawiki/index.php/Main_Page   PHP Fatal Error 
> > from line 152 of 
> > /usr/share/mediawiki/includes/HookContainer/HookContainer.php: Maximum 
> > execution time of 30 seconds exceeded
> > #0 [internal function]: MWExceptionHandler::handleFatalError()
> > #1 {main}
> > 2022-01-19 09:17:57 autopkgtest-lxd-eeoxik autopkgtestwiki: 
> > [31731278ed6070e946af4fbe] /mediawiki/index.php/Main_Page   PHP Fatal Error 
> > from line 110 of /usr/share/mediawiki/includes/json/FormatJson.php: Maximum 
> > execution time of 30 seconds exceeded
> > #0 [internal function]: MWExceptionHandler::handleFatalError()
> > #1 {main}
> > cat: /var/log/mediawiki/fatal.log: No such file or directory
> 
> As this issue seems intermittent (as mediawiki passed at one point) I guess
> you're trying to say that you think mediawiki got slower with php8.1? Or is
> this timeout new with php8.1?

The failing cases are mostly ones with triggers for
php-defaults/84~0ubuntu1 or newer, which marks where php8.1 is set as
default.  The ones that pass and don't specify that are thus running
php8.0.  So it looks like the pass-vs-fail correlates to php8.0-vs-8.1
and is something specific to armhf.

Unfortunately I don't have i386 builds to compare with (due to
dependency issues), so it's just a hunch that this is the same problem
Debian sees on i386.  It'd be illuminating to doublecheck on your i386
builds that it's also hitting this same timeout situation.

> Obviously the code that fails to finish is mediawiki's code, so it
> doesn't seem to be a generic issue with php8.1 except if the timeout
> happens because of something inside php8.1.

Line 110 that the error points to appears to be a json_encode() call.  

> Can anybody shed a light on if it's reasonable to time out on what
> mediawiki is trying to do here. And why doesn't it happen on other
> architectures (in Debian, as far as I checked)?

I can't tell what it may be trying to encode, but presumably it's either
Main_Page or something used by Main_Page, which I'm guessing should only
take a fraction of a second to encode.  I suppose we could test
increasing max_execution_time.  But my suspicion is that the encoder is
getting stuck in a loop or a recursion.

I've not been able to find any reports on the web similar enough to be
worth mentioning.

Bryce

Reply via email to