Problem/Motivation
If the network goes away during a multilingual installation a fatal error is triggered.
This is because locale_translation_http_check()
calls methods on the return value of Guzzle's RequestException::getResponse()
which may be NULL
. See the API documentation for proof.
I triggered this via drush site-install
but there's nothing Drush specific here, so I'm fairly certain it can be triggered through the UI as well.
Major because it's a fatal triggered from the UI and it's during the installation. (Not critical because it's sort of an edge case to hit.)
Proposed resolution
Check on the return value of RequestException::getResponse()
before calling methods on it.
Remaining tasks
User interface changes
None.
API changes
None.
Beta phase evaluation
Issue category | Bug because fatal errors occur under certain conditions |
---|---|
Issue priority | Major because because fatal errors |
Unfrozen changes | Unfrozen because it only changes code to reduce fragility |
Comment | File | Size | Author |
---|---|---|---|
#1 | 2362403-1.patch | 1.75 KB | tstoeckler |
#1 | 2362403-1-review--do-not-test.patch | 920 bytes | tstoeckler |
Comments
Comment #1
tstoecklerThe -do-not-test patch is with
git diff -w
.Comment #2
tstoecklerAdding proof that the return value can be NULL to the IS.
Comment #3
jhedstromThis looks difficult to add a test for. The fix makes enough sense to me, since all it's doing is making sure a variable exists before calling a method on it.
I've added a beta phase evaluation to the issue summary.
Comment #4
catchCommitted/pushed to 8.0.x, thanks!
Comment #6
Gábor HojtsyPost-tagging.