The question to the channel had no time limit, and a download that failed gave an empty answer, which the test read as nothing on offer. A server that held the connection open could keep the test until the job's limit, and one that was down made it report "Nothing to upgrade to". The request now has a deadline, a failure anywhere in it counts, and the test stops with its own message and the last lines of what went wrong.