{"record":{"id":"e303185fd124ccc9","repo":"vosen/ZLUDA","slug":"e-fail","errorCode":"E_FAIL","errorMessage":"Could not get path to the executing module","messagePattern":"Could not get path to the executing module","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zluda32/src/ipc.rs","lineNumber":39,"sourceCode":"impl Server {\n    pub unsafe fn start() -> Result<Self, Error> {\n        let local = zluda_server_common::Endpoint::new()?;\n        let remote = zluda_server_common::Endpoint::new()?;\n        let spawn_server = |path: &PathBuf| {\n            Command::new(path)\n                .args([\n                    &local.event_name,\n                    &local.shared_memory.name,\n                    &remote.event_name,\n                    &remote.shared_memory.name,\n                ])\n                .stdin(Stdio::null())\n                .stdout(Stdio::null())\n                .stderr(Stdio::null())\n                .current_dir(path.parent().unwrap())\n                .spawn()\n        };\n        let mut primary_path = zluda_common::os::self_path().ok_or(Error::new(\n            E_FAIL,\n            \"Could not get path to the executing module\",\n        ))?;\n        primary_path.pop();\n        if cfg!(debug_assertions) {\n            primary_path.push(\"../../debug/zluda64_server.exe\");\n        } else {\n            primary_path.push(\"../zluda64_server.exe\");\n        };\n        let fallback_path = env::var(\"ZLUDA64_PATH\").ok().map(PathBuf::from);\n        let child = match (spawn_server(&primary_path), fallback_path) {\n            (Ok(c), _) => c,\n            (Err(_), Some(mut fallback_path)) => {\n                fallback_path.push(\"zluda64_server.exe\");\n                spawn_server(&fallback_path)?\n            }\n            (Err(e), None) => return Err(e.into()),\n        };","sourceCodeStart":21,"sourceCodeEnd":57,"githubUrl":"https://github.com/vosen/ZLUDA/blob/9c8b43f242985150f86a7f485218b7b82c3e96ca/zluda32/src/ipc.rs#L21-L57","documentation":"zluda32 IPC server startup failure: GetModuleFileNameW (or equivalent) returned no usable path for the currently executing module, so the 32-bit shim cannot locate and spawn its 64-bit server process next to itself. This usually means the module was loaded from an unusual context (e.g. loaded from memory or a path with characters that failed conversion) rather than a normal on-disk DLL.","triggerScenarios":"Thrown at zluda32/src/ipc.rs:39 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure zluda32.dll and the 64-bit server binary are normally installed on disk next to each other","Check that the application loads ZLUDA via standard LoadLibrary from a real file path","Report the loading mechanism if using a loader that injects modules without file backing"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9c8b43f242985150f86a7f485218b7b82c3e96ca","analyzedAt":"2026-09-06T09:21:08.049Z","contentChangedAt":"2026-09-06T09:21:08.049Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}