Page MenuHomePhabricator

PHP fatal errors are not visible in jenkins output in mwext-Wikibase-client-tests job
Closed, DeclinedPublic

Description

Fatal errors, like calling a non-existing method, are not visible in Jenkins output. Not in the console output, not in the build artifacts, and not under "test results" either. So, if e.g. an extension becomes incompatible with core in a way that triggers a fatal error, Jenkins will start failing for that extension, with no indication as to why.

For reference, see the test failure reported on PS2 of https://gerrit.wikimedia.org/r/#/c/194516/

Event Timeline

daniel raised the priority of this task from to High.
daniel updated the task description. (Show Details)
daniel added subscribers: daniel, aude, Legoktm, Addshore.
Legoktm renamed this task from PHP fatal errors are not visible in jenkins output to PHP fatal errors are not visible in jenkins output in Wikibase phpunit jobs.Mar 11 2015, 4:59 PM

It appears to be limited to the mwext-Wikibase-client-tests job, the repo ones are fine.

@Legoktm so maybe it's an issue with the php output buffer? I would expect php to discard any buffers before reporting a fatal, but who knows.

Perhaps the best approach would be not write errors to a log file directly, and not to stdout/stderr at all, to sidestep any issues with buffering. What is error_log set to?

Legoktm renamed this task from PHP fatal errors are not visible in jenkins output in Wikibase phpunit jobs to PHP fatal errors are not visible in jenkins output in mwext-Wikibase-client-tests job.Mar 12 2015, 5:20 PM
Legoktm added a project: Wikidata.

Hmm, is something in client messing with the output buffer? I grepped for "ob_" but didn't see anything client-related.

client tests have Scribunto and cldr as dependencies, repo just has cldr.

jenkins just passes client to Wikibase/build/jenkins/mw-apply-wb-settings.sh, so that's where the other differences are.

Krinkle claimed this task.