From b08fca0abece72cdb6cae0e0a46fa770bb3ac349 Mon Sep 17 00:00:00 2001 From: "Simon L." Date: Fri, 16 Jan 2026 14:56:49 +0100 Subject: [PATCH] fix: fall-back to hardcoded values if debug mode is enabled Signed-off-by: Simon L. --- lib/base.php | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/base.php b/lib/base.php index e666a5eea29..8676b17e19b 100644 --- a/lib/base.php +++ b/lib/base.php @@ -915,19 +915,23 @@ class OC { $eventLogger->end('request'); }); - register_shutdown_function(function () { + register_shutdown_function(function () use ($config) { $memoryPeak = memory_get_peak_usage(); + $debugModeEnabled = $config->getSystemValueBool('debug', false); + $memoryLimit = null; - // Use the memory helper to get the real memory limit in bytes - try { - $memoryInfo = new \OC\MemoryInfo(); - $memoryLimit = $memoryInfo->getMemoryLimit(); - } catch (Throwable $e) { - $memoryLimit = null; + if (!$debugModeEnabled) { + // Use the memory helper to get the real memory limit in bytes if debug mode is disabled + try { + $memoryInfo = new \OC\MemoryInfo(); + $memoryLimit = $memoryInfo->getMemoryLimit(); + } catch (Throwable $e) { + // Ignore any errors and fall back to hardcoded thresholds + } } - // Check if a memory limit is configured and can be retrieved and determine log level - if ($memoryLimit !== null && $memoryLimit !== -1) { + // Check if a memory limit is configured and can be retrieved and determine log level if debug mode is disabled + if (!$debugModeEnabled && $memoryLimit !== null && $memoryLimit !== -1) { $logLevel = match (true) { $memoryPeak > $memoryLimit * 0.9 => ILogger::FATAL, $memoryPeak > $memoryLimit * 0.75 => ILogger::ERROR, @@ -938,7 +942,7 @@ class OC { $memoryLimitIni = @ini_get('memory_limit'); $message = 'Request used ' . Util::humanFileSize($memoryPeak) . ' of memory. Memory limit: ' . ($memoryLimitIni ?: 'unknown'); } else { - // Fall back to hardcoded thresholds if memory_limit cannot be determined + // Fall back to hardcoded thresholds if memory_limit cannot be determined or if debug mode is enabled $logLevel = match (true) { $memoryPeak > 500_000_000 => ILogger::FATAL, $memoryPeak > 400_000_000 => ILogger::ERROR,