Skip to content

Appstore Update Timeout due to Client.php #17685

Description

@mind22

Steps to reproduce

  1. Try to update an app in web interface.

Actual behaviour

The hard timeout of 30s in Client.php (/var/www/nextcloud/lib/private/Http/Client/Client.php) leads to premature abortion of update process. Setting it to a higher value completes app update without errors.

RequestOptions::TIMEOUT => 30

Server configuration

Operating system: Ubuntu 18.04.3 LTS

Web server: nginx 1.14.0

Database: postgres

PHP version: 7.2.19

Nextcloud version: 17

Updated from an older Nextcloud/ownCloud or fresh install: updated from 16.x

Where did you install Nextcloud from: official

Logs

Nextcloud log (data/nextcloud.log)

Nextcloud log
[core] Error: GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 30000 milliseconds with 869956 out of 1236324 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) at <<closure>>

 0. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php line 149
    GuzzleHttp\Handler\CurlFactory::createRejection(GuzzleHttp\Handl ... l}, {errno: 28,error ... 6})
 1. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php line 102
    GuzzleHttp\Handler\CurlFactory::finishError(GuzzleHttp\Handler\CurlHandler {}, GuzzleHttp\Handl ... l}, GuzzleHttp\Handler\CurlFactory {})
 2. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php line 43
    GuzzleHttp\Handler\CurlFactory::finish(GuzzleHttp\Handler\CurlHandler {}, GuzzleHttp\Handl ... l}, GuzzleHttp\Handler\CurlFactory {})
 3. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/Proxy.php line 28
    GuzzleHttp\Handler\CurlHandler->__invoke("*** sensitive parameter replaced ***", "*** sensitive parameter replaced ***")
 4. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/Proxy.php line 51
    GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}("*** sensitive parameters replaced ***")
 5. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php line 37
    GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}("*** sensitive parameters replaced ***")
 6. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php line 30
    GuzzleHttp\PrepareBodyMiddleware->__invoke("*** sensitive parameter replaced ***", "*** sensitive parameter replaced ***")
 7. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php line 70
    GuzzleHttp\Middleware::GuzzleHttp\{closure}("*** sensitive parameters replaced ***")
 8. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php line 107
    GuzzleHttp\RedirectMiddleware->__invoke("*** sensitive parameter replaced ***", "*** sensitive parameter replaced ***")
 9. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php line 72
    GuzzleHttp\RedirectMiddleware->checkRedirect(GuzzleHttp\Psr7\Request {}, "*** sensitive parameter replaced ***", "*** sensitive parameter replaced ***")
10. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/FulfilledPromise.php line 39
    GuzzleHttp\RedirectMiddleware->GuzzleHttp\{closure}("*** sensitive parameters replaced ***")
11. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php line 47
    GuzzleHttp\Promise\FulfilledPromise::GuzzleHttp\Promise\{closure}("*** sensitive parameters replaced ***")
12. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 246
    GuzzleHttp\Promise\TaskQueue->run(true)
13. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 223
    GuzzleHttp\Promise\Promise->invokeWaitFn()
14. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 267
    GuzzleHttp\Promise\Promise->waitIfPending()
15. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 225
    GuzzleHttp\Promise\Promise->invokeWaitList()
16. /var/www/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 62
    GuzzleHttp\Promise\Promise->waitIfPending()
17. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php line 131
    GuzzleHttp\Promise\Promise->wait()
18. /var/www/nextcloud/lib/private/Http/Client/Client.php line 144
    GuzzleHttp\Client->request("get", "https://github. ... z", {proxy: null,ver ... e})
19. /var/www/nextcloud/lib/private/Installer.php line 269
    OC\Http\Client\Client->get("https://github. ... z", {save_to: "/uplo ... "})
20. /var/www/nextcloud/lib/private/Installer.php line 186
    OC\Installer->downloadApp("*** sensitive parameter replaced ***")
21. /var/www/nextcloud/core/Command/App/Update.php line 105
    OC\Installer->updateAppstoreApp("*** sensitive parameters replaced ***")
22. /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php line 255
    OC\Core\Command\App\Update->execute(Symfony\Componen ... {}, Symfony\Componen ... {})
23. /var/www/nextcloud/3rdparty/symfony/console/Application.php line 908
    Symfony\Component\Console\Command\Command->run(Symfony\Componen ... {}, Symfony\Componen ... {})
24. /var/www/nextcloud/3rdparty/symfony/console/Application.php line 269
    Symfony\Component\Console\Application->doRunCommand(OC\Core\Command\App\Update {}, Symfony\Componen ... {}, Symfony\Componen ... {})
25. /var/www/nextcloud/3rdparty/symfony/console/Application.php line 145
    Symfony\Component\Console\Application->doRun(Symfony\Componen ... {}, Symfony\Componen ... {})
26. /var/www/nextcloud/lib/private/Console/Application.php line 213
    Symfony\Component\Console\Application->run(Symfony\Componen ... {}, Symfony\Componen ... {})
27. /var/www/nextcloud/console.php line 97
    OC\Console\Application->run()
28. /var/www/nextcloud/occ line 11
    undefinedundefinedrequire_once("/var/www/nextcloud/console.php")

at 2019-10-26T11:41:15+02:00

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmapbugneeds info

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions