With display_errors
enabled we get the following
Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/lib/gitlab.php on line 940
Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/lib/gitlab.php on line 940
Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/lib/gitlab.php on line 940
Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/lib/gitlab.php on line 940
Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/lib/gitlab.php on line 940
Warning: Redis::connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/lib/gitlab.php on line 940
Fatal error: Uncaught TypeError: count(): Argument [[#1](/issue/websites/Gitlab-Issue-Listing-Script/1.html)](/issue/websites/Gitlab-Issue-Listing-Script/1.html) ($value) must be of type Countable|array, null given in /var/www/html/lib/gitlab.php:550 Stack trace: [#0](/issue/websites/Gitlab-Issue-Listing-Script/0.html) /var/www/html/lib/router.php(65): GILSGitlab->getProjectAndIssues('websites/Gitlab...') [[#1](/issue/websites/Gitlab-Issue-Listing-Script/1.html)](/issue/websites/Gitlab-Issue-Listing-Script/1.html) /var/www/html/index.php(14): GILSRouter->route('/project/websit...') [#2](/issue/websites/Gitlab-Issue-Listing-Script/2.html) {main} thrown in /var/www/html/lib/gitlab.php on line 550
Activity
27-Aug-22 15:29
assigned to @btasker
27-Aug-22 15:31
changed title from {-Interruption in name resolution can lead to errors being cached-} to {+Whitescreen on project page+}
27-Aug-22 15:31
changed the description
27-Aug-22 15:34
Turns out this isn't Redis related - have updated the description.
I'm not sure how we got here yet, but the issue is here
That function, at first glance, looks reasonable safe:
But.... what if the returned result is not an object? If we get an empty response back (for whatever reason) then we won't add the empty array.
27-Aug-22 15:37
Dropping a
print_r()
in there confirms itThe request failed (potentially because of the Redis issue, but we'll deal with that seperately).
27-Aug-22 15:37
mentioned in commit b06238355b9aae7bc90b5c577defd7d8c4e2e853
Message
Handle things if the container list request fails (websites/Gitlab-Issue-Listing-Script#56)
27-Aug-22 15:39
The commit handles this particular failure case.
Now need to look into the Redis handling - the page is no longer generating a 500, but we're also not getting any data back. Presumably the Redis container has OOM'd or similar.
I'll raise a separate issue to track improving handling of that
27-Aug-22 15:43
FTR looks like we already handle Redis issues sanely
Presumably, whatever interrupted name resolution also prevented us resolving the name of Gitlab's API, which is why pages came back without content.
27-Aug-22 15:44
changed title from Whitescreen on project page to Whitescreen on project page{+ caused by empty Container List+}