{"record":{"id":"ede654a07c75e2f3","repo":"SeleniumHQ/selenium","slug":"unable-to-extract-pkg-no-payload-found","errorCode":null,"errorMessage":"Unable to extract PKG: no Payload found","messagePattern":"Unable to extract PKG: no Payload found","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"rust/src/files.rs","lineNumber":290,"sourceCode":"        if chunk.len() >= XZ_MAGIC.len() && chunk[..XZ_MAGIC.len()] == XZ_MAGIC {\n            XzDecoder::new(&chunk[..]).read_to_end(&mut output)?;\n        } else {\n            output.extend_from_slice(&chunk);\n        }\n    }\n    Ok(output)\n}\n\npub fn uncompress_pkg(compressed_file: &str, target: &Path, log: &Logger) -> Result<(), Error> {\n    let target_path = Path::new(target);\n    let mut xar = PkgReader::new(File::open(compressed_file)?)?.into_inner();\n\n    let payload_path = xar\n        .files()?\n        .into_iter()\n        .map(|(name, _)| name)\n        .find(|name| name == \"Payload\" || name.ends_with(\"/Payload\"))\n        .ok_or(anyhow!(\"Unable to extract PKG: no Payload found\"))?;\n    let payload = xar\n        .get_file_data_from_path(&payload_path)?\n        .ok_or(anyhow!(\"Unable to extract PKG: empty Payload\"))?;\n\n    // Newer macOS packages (e.g. Firefox beta) wrap the cpio Payload in the pbzx\n    // format, which apple-flat-package cannot decode. Unwrap pbzx to the raw cpio\n    // stream; gzip and uncompressed payloads are handled by payload_reader as-is.\n    let payload = if payload.len() >= PBZX_MAGIC.len() && payload[..PBZX_MAGIC.len()] == PBZX_MAGIC\n    {\n        log.trace(\"Decoding pbzx-compressed Payload\".to_string());\n        decode_pbzx(&payload)?\n    } else {\n        payload\n    };\n\n    let package = ComponentPackageReader::from_file_data(None, None, Some(payload), None)?;\n    if let Some(mut cpio_reader) = package.payload_reader()? {\n        while let Some(next) = cpio_reader.next() {","sourceCodeStart":272,"sourceCodeEnd":308,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/rust/src/files.rs#L272-L308","documentation":"Error \"Unable to extract PKG: no Payload found\" thrown in SeleniumHQ/selenium.","triggerScenarios":"Thrown at rust/src/files.rs:290 when the library encounters an invalid state.","commonSituations":"Occurs when extracting a macOS PKG download and the Payload archive is missing. Prevent it by verifying the download completed successfully and the PKG file is intact (re-download if truncated or corrupted).","solutions":["Verify the downloaded .pkg file is complete and not truncated; re-download the browser installer","Check that the .pkg is a valid XAR archive (run 'xar -tf file.pkg' to list entries and confirm a Payload exists)","If the PKG was produced by an unsupported packaging variant, use a different browser version or install the browser manually"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}