Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Nextcloud Server gets unusably slow if external services like Collabora Server are not reachable #3347

Open
5 of 8 tasks
tilllt opened this issue Dec 8, 2023 · 5 comments
Labels

Comments

@tilllt
Copy link

tilllt commented Dec 8, 2023

⚠️ This issue respects the following points: ⚠️

Bug description

Nextcloud Server gets unusably slow if external services like Collabora Server are not reachable. I am not 100% if this belongs here on in the Collabora issues, but i guess NC itself should have measures to function when external services and plugins are not reachable.

  • We have a instance of NC (PHP8) on a webspace provider (all-inkl.com), its federated with an instance on my Homeserver, but especially it is using the collabora server on my Homeserver. The ISP Provider (PYUR) has a routing problem atm, so my homeserver is not reachable from the outside.

This causes the the hosted Nextcloud to be basically unreachable. Just loading the Homepage takes 2-3 minutes. Loading any other page again takes 2-3 minutes.

Steps to reproduce

  1. Point an NC server to a remote collabora instance
  2. Make that Collabora Server unreachable
  3. Try to connect to the NC Server

Expected behavior

I guess there should be a resonable timeout handling in NC when it comes to externally connected services, no matter if connected through plugins or from NC itself. Unreachable external services should not slow NC to a halt.

Installation method

Community Web installer on a VPS or web space

Nextcloud Server version

27

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.0

Web server

Apache (supported)

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

webspace provider, no shell access

List of activated Apps

webspace provider, no shell access, nc doesnt load

Nextcloud Signing status

no shell access, nc doesnt load

Nextcloud Logs

no shell access, nc doesnt load

Additional info

No response

@tilllt tilllt added 0. Needs triage bug Something isn't working labels Dec 8, 2023
@solracsf solracsf changed the title [Bug]: [Bug]: Nextcloud Server gets unusably slow if external services like Collabora Server are not reachable Dec 8, 2023
@kesselb
Copy link
Contributor

kesselb commented Dec 8, 2023

I remember a similar report at help.nextcloud.com a while ago.

Back then, I could trace it down to

$context->injectFn(function (ITemplateManager $templateManager, IL10N $l10n, IConfig $config, CapabilitiesService $capabilitiesService, PermissionManager $permissionManager) {
if (!$permissionManager->isEnabledForUser() || empty($capabilitiesService->getCapabilities())) {
return;
}
and
$client = $this->clientService->newClient();
$options = ['timeout' => 45, 'nextcloud' => ['allow_local_address' => true]];
if ($this->config->getAppValue('richdocuments', 'disable_certificate_verification') === 'yes') {
$options['verify'] = false;
}
try {
$startTime = microtime(true);
$response = $client->get($this->getCapabilitiesEndpoint(), $options);
$duration = round(((microtime(true) - $startTime)), 3);
$this->logger->info('Fetched capabilities endpoint from ' . $this->getCapabilitiesEndpoint(). ' in ' . $duration . ' seconds');
$responseBody = $response->getBody();
$capabilities = \json_decode($responseBody, true);
if (!is_array($capabilities)) {
$capabilities = [];
}
} catch (\Exception $e) {
$this->logger->error('Failed to fetch the Collabora capabilities endpoint: ' . $e->getMessage(), [ 'exception' => $e ]);
if ($throw) {
throw $e;
}
$capabilities = [];
}
$this->capabilities = $capabilities;
$ttl = 3600;
if (count($capabilities) === 0) {
$ttl = 60;
}

The app is already using the capabilities service in the app boostrapping. By default, we have a timeout of 45 seconds for the collabora capabilties endpoint. If we cannot fetch the capabilities, we keep the current state only for 60 seconds instead of one hour. All together, that's not ideal.

What could help, here in server, is to extend TemplateManager.getTypes to handle a null value from the registerTemplateFileCreator callback. Therefore, we could move the "expensive" capabilties query to the actual moment when we need to register the template file creator.

Sorry, I had in mind to send a pull request or write a proper bug ticket for the office team but forgot it.

@juliushaertl
Copy link
Member

Are you using the built-in code server? I'm wondering if running that might be something that is blocked by the hosting provider. Or are you using an external collabora server.

@juliushaertl juliushaertl transferred this issue from nextcloud/server Dec 8, 2023
@juliushaertl
Copy link
Member

Ah sorry just noticed that you use an external collabora server. Can you check the log if there is any error trace mentioning the request to the COllabora server? Would be curious where that is triggered then, as far as I remember we should only perform those queries for the built-in server on page load (which is also something that should be fixed)

@tilllt
Copy link
Author

tilllt commented Dec 9, 2023

{"reqId":"xxx923j4upHanEX0QAAJCg","level":3,"time":"December 08, 2023 22:18:56","remoteAddr":"89.0.y.x","user":"user.name","app":"richdocuments","method":"GET","url":"/index.php/apps/files/api/v1/stats","message":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0","version":"27.1.3.2","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","Code":0,"Trace":[{"file":"/www/htdocs/user/domains/server.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":137,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php","line":114,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":63,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":331,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":168,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":187,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Http/Client/Client.php","line":230,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","https://office.example.de/hosting/capabilities",["/www/htdocs/w00d77ee/Owncloud_DATA/files_external/rootcerts.crt",45,[true],["Nextcloud Server Crawler","gzip"],true]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":135,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["https://office.example.de/hosting/capabilities",[45,[true]]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":73,"function":"refetch","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/AppInfo/Application.php","line":90,"function":"getCapabilities","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/Bootstrap/FunctionInjector.php","line":45,"function":"OCA\\Richdocuments\\AppInfo\\{closure}","class":"OCA\\Richdocuments\\AppInfo\\Application","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/Bootstrap/BootContext.php","line":50,"function":"injectFn","class":"OC\\AppFramework\\Bootstrap\\FunctionInjector","type":"->","args":[["Closure"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/AppInfo/Application.php","line":89,"function":"injectFn","class":"OC\\AppFramework\\Bootstrap\\BootContext","type":"->","args":[["Closure"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php","line":200,"function":"boot","class":"OCA\\Richdocuments\\AppInfo\\Application","type":"->","args":[["OC\\AppFramework\\Bootstrap\\BootContext"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/App/AppManager.php","line":437,"function":"bootApp","class":"OC\\AppFramework\\Bootstrap\\Coordinator","type":"->","args":["richdocuments"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/App/AppManager.php","line":216,"function":"loadApp","class":"OC\\App\\AppManager","type":"->","args":["richdocuments"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/legacy/OC_App.php","line":126,"function":"loadApps","class":"OC\\App\\AppManager","type":"->","args":[[]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/base.php","line":1048,"function":"loadApps","class":"OC_App","type":"::","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","exception":{},"CustomMessage":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities"}}
{"reqId":"xxz5POrZBJLiOArEgAAAEI","level":3,"time":"December 09, 2023 02:33:57","remoteAddr":"192.144.y.x","user":"--","app":"richdocuments","method":"GET","url":"/index.php/login","message":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","userAgent":"--","version":"27.1.3.2","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","Code":0,"Trace":[{"file":"/www/htdocs/user/domains/server.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":137,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php","line":114,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":63,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":331,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":168,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":187,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Http/Client/Client.php","line":230,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","https://office.example.de/hosting/capabilities",["/www/htdocs/w00d77ee/Owncloud_DATA/files_external/rootcerts.crt",45,[true],["Nextcloud Server Crawler","gzip"],true]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":135,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["https://office.example.de/hosting/capabilities",[45,[true]]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":73,"function":"refetch","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Capabilities.php","line":106,"function":"getCapabilities","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/CapabilitiesManager.php","line":74,"function":"getCapabilities","class":"OCA\\Richdocuments\\Capabilities","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Template/JSConfigHelper.php","line":166,"function":"getCapabilities","class":"OC\\CapabilitiesManager","type":"->","args":[false,true]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/TemplateLayout.php","line":240,"function":"getConfig","class":"OC\\Template\\JSConfigHelper","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/legacy/OC_Template.php","line":182,"function":"__construct","class":"OC\\TemplateLayout","type":"->","args":["guest","core"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/public/AppFramework/Http/TemplateResponse.php","line":213,"function":"fetchPage","class":"OC_Template","type":"->","args":[[[],"Login"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":182,"function":"render","class":"OCP\\AppFramework\\Http\\TemplateResponse","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/App.php","line":183,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OC\\Core\\Controller\\LoginController"],"showLoginForm"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\LoginController","showLoginForm",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["core.login.showLoginForm"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/base.php","line":1068,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/login"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","exception":{},"CustomMessage":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities"}}
{"reqId":"xxx6GBz5sJLiOArEgAAAEI","level":3,"time":"December 09, 2023 02:34:42","remoteAddr":"192.144.y.x","user":"--","app":"richdocuments","method":"GET","url":"/index.php/login","message":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","userAgent":"--","version":"27.1.3.2","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","Code":0,"Trace":[{"file":"/www/htdocs/user/domains/server.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":137,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php","line":114,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":63,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":331,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":168,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":187,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Http/Client/Client.php","line":230,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","https://office.example.de/hosting/capabilities",["/www/htdocs/w00d77ee/Owncloud_DATA/files_external/rootcerts.crt",45,[true],["Nextcloud Server Crawler","gzip"],true]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":135,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["https://office.example.de/hosting/capabilities",[45,[true]]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":73,"function":"refetch","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php","line":89,"function":"getCapabilities","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/apps/richdocuments/lib/Capabilities.php","line":110,"function":"hasDrawSupport","class":"OCA\\Richdocuments\\Service\\CapabilitiesService","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/CapabilitiesManager.php","line":74,"function":"getCapabilities","class":"OCA\\Richdocuments\\Capabilities","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Template/JSConfigHelper.php","line":166,"function":"getCapabilities","class":"OC\\CapabilitiesManager","type":"->","args":[false,true]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/TemplateLayout.php","line":240,"function":"getConfig","class":"OC\\Template\\JSConfigHelper","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/legacy/OC_Template.php","line":182,"function":"__construct","class":"OC\\TemplateLayout","type":"->","args":["guest","core"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/public/AppFramework/Http/TemplateResponse.php","line":213,"function":"fetchPage","class":"OC_Template","type":"->","args":[[[],"Login"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":182,"function":"render","class":"OCP\\AppFramework\\Http\\TemplateResponse","type":"->","args":[]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/AppFramework/App.php","line":183,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OC\\Core\\Controller\\LoginController"],"showLoginForm"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\LoginController","showLoginForm",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["core.login.showLoginForm"]]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/lib/base.php","line":1068,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/login"]},{"file":"/www/htdocs/user/domains/example.de/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/www/htdocs/user/domains/example.de/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities","exception":{},"CustomMessage":"Failed to fetch the Collabora capabilities endpoint: cURL error 28: Connection timed out after 45001 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://office.example.de/hosting/capabilities"}}

@tilllt
Copy link
Author

tilllt commented Dec 12, 2023

If there is no more elegant way to solve this problem, the bare minimum should be to (temporarily) auto disable the document server to at least be able to login and use the rest of nextcloud again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants