From d10c2b1ad1cb553b22adacc97bc8fbca5901244a Mon Sep 17 00:00:00 2001 From: Dag Date: Mon, 8 Sep 2025 12:33:10 +0200 Subject: [PATCH] fix(heise): try to fix memory leak issues (#4719) --- bridges/HeiseBridge.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bridges/HeiseBridge.php b/bridges/HeiseBridge.php index 35f18d57..a9867990 100644 --- a/bridges/HeiseBridge.php +++ b/bridges/HeiseBridge.php @@ -136,6 +136,17 @@ class HeiseBridge extends FeedExpander if (strpos($item['uri'], 'https://www.heise.de') !== 0) { return $item; } + + // These cause memory leaks in simple_html_dom + $skipped = [ + 'https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-mini-pc-mit-windows-11-im-test-amd-ryzen-dominiert/6cybv8w', + 'https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-maehroboter-ohne-begrenzungskabel-mit-kamera-gps-oder-lidar/gb7xhbg', + ]; + if (in_array($item['uri'], $skipped)) { + $this->logger->debug(sprintf('skip: %s', $item['uri'])); + return $item; + } + // abort on heise+ articles if ($sessioncookie == '' && str_starts_with($item['title'], 'heise+ |')) { $item['uri'] = 'https://archive.is/' . $item['uri']; @@ -152,6 +163,11 @@ class HeiseBridge extends FeedExpander $item = $this->addArticleToItem($item, $article); } + $article->clear(); + + // Manually trigger gc to reduce memory usage + gc_collect_cycles(); + return $item; }