{"record":{"id":"0eac5367ac287184","repo":"SeleniumHQ/selenium","slug":"unsupported-architecture","errorCode":null,"errorMessage":"Unsupported architecture: {}","messagePattern":"Unsupported architecture: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"rust/src/lib.rs","lineNumber":1401,"sourceCode":"\n    fn get_arch(&self) -> &str {\n        self.get_config().arch.as_str()\n    }\n\n    fn get_normalized_arch(&self) -> Result<&str, Error> {\n        let arch = self.get_arch();\n        if X32.is(arch) {\n            Ok(ARCH_X86)\n        } else if X64.is(arch) {\n            Ok(ARCH_X64)\n        } else if ARM64.is(arch) {\n            Ok(ARCH_ARM64)\n        } else if ARMV7.is(arch) {\n            Ok(ARCH_ARM7L)\n        } else {\n            let err_msg = format!(\"Unsupported architecture: {}\", arch);\n            self.get_logger().warn(err_msg.clone());\n            Err(anyhow!(err_msg))\n        }\n    }\n\n    fn set_arch(&mut self, arch: String) {\n        if !arch.is_empty() {\n            self.get_config_mut().arch = arch;\n        }\n    }\n\n    fn get_browser_version(&self) -> &str {\n        self.get_config().browser_version.as_str()\n    }\n\n    fn get_major_browser_version(&self) -> String {\n        if self.is_browser_version_stable() {\n            STABLE.to_string()\n        } else if self.is_browser_version_unstable() {\n            self.get_browser_version().to_string()","sourceCodeStart":1383,"sourceCodeEnd":1419,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/rust/src/lib.rs#L1383-L1419","documentation":"Thrown by get_normalized_arch() when the configured/detected architecture matches none of x32, x64, arm64, or armv7. It logs a warning first, then returns Err. The placeholder is the unrecognized arch string.","triggerScenarios":"get_arch() returns a value that matches none of X32/X64/ARM64/ARMV7 matchers (lib.rs:1388-1402), e.g. an exotic or malformed architecture string.","commonSituations":"Running on an unsupported CPU (e.g. RISC-V, s390x); --arch passed a wrong value; arch detection returned garbage.","solutions":["Pass a supported --arch explicitly (x86, x86_64, aarch64/arm64, armv7).","Confirm Selenium Manager is up to date; newer builds may add arch support.","If on a genuinely unsupported platform, run under emulation or use a supported runner."],"exampleFix":"# before\nselenium-manager --browser chrome --arch riscv64\n# after\nselenium-manager --browser chrome --arch arm64","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"fn supported_arch(a: &str) -> Option<&'static str> {\n    match a.to_ascii_lowercase().as_str() {\n        \"x86\" | \"i386\" | \"i686\" => Some(\"x86\"),\n        \"x86_64\" | \"x64\" | \"amd64\" => Some(\"x86_64\"),\n        \"aarch64\" | \"arm64\" => Some(\"aarch64\"),\n        \"armv7\" | \"armv7l\" => Some(\"armv7\"),\n        _ => None,\n    }\n}\nif supported_arch(detected).is_none() { return Err(anyhow!(\"unsupported arch\")); }","tryCatchPattern":null,"preventionTips":["Pass --arch explicitly with a supported value when auto-detection may fail.","Run on a supported architecture or under emulation.","Keep Selenium Manager current for new-arch support."],"tags":["architecture","platform","selenium-manager"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}