EpicGames/lore · error

Networking not supported on this OS

Error message

Networking not supported on this OS

What it means

On platforms without Unix-domain-socket networking support, lore compiles a stub UdsListener whose constructor unconditionally panics. This is a deliberate compile-time platform substitution: the type exists so code compiles, but any use is a programming error on that OS.

Solutions

  1. Run on a supported Unix-like OS where the real UDS networking module is compiled.
  2. Choose a transport other than Unix domain sockets (e.g. TCP) when targeting unsupported platforms.
  3. Guard UDS code paths behind a runtime/compile-time platform check so new() is never reached on stub platforms.

Example fix

// before
let listener = UdsListener::new()?;
// after
#[cfg(unix)]
let listener = UdsListener::new()?;
#[cfg(not(unix))]
return Err(anyhow!("Unix domain sockets not available on this platform"));
Defensive patterns

Strategy: type-guard

Validate before calling

if !cfg!(unix) { /* skip or use TCP transport */ }

Type guard

fn uds_supported() -> bool { cfg!(unix) }

Try / catch

// panic, not recoverable: prevent call instead
if !uds_supported() { return Err(anyhow!("UDS unsupported here")); }
let listener = UdsListener::new()?;

Prevention

When it happens

Trigger: Calling UdsListener::new() on an OS where the networking stub (stub.rs) is selected by cfg instead of the real Unix-socket implementation.

Common situations: Building/running lore on Windows or another unsupported platform; accidentally enabling a Unix-socket transport feature on a target that only compiles the stub.

Understand the failure class

Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.

Related errors


AI-assisted analysis of EpicGames/lore@074eb0b0d1 (2026-09-13). Data as JSON: /api/errors/a97937991c845ad1. Report an issue: GitHub.

Appendix: source

Thrown at lore/src/remote/network/stub.rs:15

// SPDX-FileCopyrightText: 2026 Epic Games, Inc.
// SPDX-License-Identifier: MIT
use crate::remote::network::UdsAcceptError;
use crate::remote::network::UdsConnectionError;
use crate::remote::network::UdsListenerError;

pub fn uds_supported() -> bool {
    false
}

pub struct UdsListener {}

impl UdsListener {
    pub fn new() -> Result<UdsListener, UdsListenerError> {
        panic!("Networking not supported on this OS")
    }

    pub fn accept(&self) -> Result<UdsStream, UdsAcceptError> {
        panic!("Networking not supported on this OS")
    }
}

pub struct UdsStream {}

impl UdsStream {
    #[allow(unreachable_code)]
    pub fn writer(&mut self) -> &mut impl std::io::Write {
        panic!("Networking not supported on this OS");
        Box::leak(Box::<Vec<u8>>::new(Vec::new()))
    }

    #[allow(unreachable_code)]
    pub fn reader(&mut self) -> &mut impl std::io::Read {

View on GitHub (pinned to 074eb0b0d1)