Skip to content
Snippets Groups Projects
Unverified Commit 5ab5a5f8 authored by Christoph Wurst's avatar Christoph Wurst
Browse files

Catch all exceptions when an app is registering or booting

parent e64e2d66
No related branches found
No related tags found
No related merge requests found
...@@ -32,6 +32,7 @@ use OCP\AppFramework\QueryException; ...@@ -32,6 +32,7 @@ use OCP\AppFramework\QueryException;
use OCP\EventDispatcher\IEventDispatcher; use OCP\EventDispatcher\IEventDispatcher;
use OCP\ILogger; use OCP\ILogger;
use OCP\IServerContainer; use OCP\IServerContainer;
use Throwable;
use function class_exists; use function class_exists;
use function class_implements; use function class_implements;
use function in_array; use function in_array;
...@@ -81,9 +82,17 @@ class Coordinator { ...@@ -81,9 +82,17 @@ class Coordinator {
try { try {
/** @var IBootstrap|App $application */ /** @var IBootstrap|App $application */
$apps[$appId] = $application = $this->serverContainer->query($applicationClassName); $apps[$appId] = $application = $this->serverContainer->query($applicationClassName);
$application->register($context->for($appId));
} catch (QueryException $e) { } catch (QueryException $e) {
// Weird, but ok // Weird, but ok
return;
}
try {
$application->register($context->for($appId));
} catch (Throwable $e) {
$this->logger->logException($e, [
'message' => 'Error during app service registration: ' . $e->getMessage(),
'level' => ILogger::FATAL,
]);
} }
} }
} }
...@@ -125,6 +134,11 @@ class Coordinator { ...@@ -125,6 +134,11 @@ class Coordinator {
'message' => "Could not boot $appId" . $e->getMessage(), 'message' => "Could not boot $appId" . $e->getMessage(),
]); ]);
return; return;
} catch (Throwable $e) {
$this->logger->logException($e, [
'message' => "Could not boot $appId" . $e->getMessage(),
'level' => ILogger::FATAL,
]);
} }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment