From 1b107f06c19403a18e85eed1846ec8f443d5374b Mon Sep 17 00:00:00 2001 From: Alex Osborne Date: Fri, 10 Jul 2026 14:54:19 +0900 Subject: [PATCH] BrowserProcessor: guard stop() against a partially failed start() If start() throws after the proxy is started but before the browser launches, stop() could NPE on the null fields. --- .../crawler/processor/BrowserProcessor.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/engine/src/main/java/org/archive/crawler/processor/BrowserProcessor.java b/engine/src/main/java/org/archive/crawler/processor/BrowserProcessor.java index 297ef6f3..ea1e0f9b 100644 --- a/engine/src/main/java/org/archive/crawler/processor/BrowserProcessor.java +++ b/engine/src/main/java/org/archive/crawler/processor/BrowserProcessor.java @@ -109,15 +109,19 @@ public class BrowserProcessor extends Processor { public void stop() { if (!isRunning) return; super.stop(); - try { - proxy.stop(); - } catch (Exception e) { - logger.log(ERROR, "Error stopping proxy server", e); + if (proxy != null) { + try { + proxy.stop(); + } catch (Exception e) { + logger.log(ERROR, "Error stopping proxy server", e); + } } - try { - webdriver.close(); - } catch (Exception e) { - logger.log(ERROR, "Error closing WebDriverBiDi", e); + if (webdriver != null) { + try { + webdriver.close(); + } catch (Exception e) { + logger.log(ERROR, "Error closing WebDriverBiDi", e); + } } }