{"record":{"id":"49998fad9dc4ce92","repo":"NationalSecurityAgency/ghidra","slug":"the-resulting-target-process-has-no-mapping-to-the","errorCode":null,"errorMessage":"The resulting target process has no mapping to the static image.","messagePattern":"The resulting target process has no mapping to the static image\\.","errorType":"exception","errorClass":"NoStaticMappingException","httpStatus":null,"severity":"error","filePath":"Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java","lineNumber":674,"sourceCode":"\t\tDebuggerStaticMappingService mappingService =\n\t\t\ttool.getService(DebuggerStaticMappingService.class);\n\t\tmonitor.setMessage(\"Waiting for module mapping\");\n\t\ttry {\n\t\t\tlistenForMapping(mappingService, connection, trace).get(getTimeoutMillis(),\n\t\t\t\tTimeUnit.MILLISECONDS);\n\t\t}\n\t\tcatch (TimeoutException e) {\n\t\t\tmonitor.setMessage(\n\t\t\t\t\"Timed out waiting for module mapping. Invoking the mapper.\");\n\t\t\tboolean mapped;\n\t\t\ttry {\n\t\t\t\tmapped = invokeMapper(monitor, mappingService, connection, trace, spec);\n\t\t\t}\n\t\t\tcatch (CancelledException ce) {\n\t\t\t\tthrow new CancellationException(e.getMessage());\n\t\t\t}\n\t\t\tif (!mapped) {\n\t\t\t\tthrow new NoStaticMappingException(\n\t\t\t\t\t\"The resulting target process has no mapping to the static image.\");\n\t\t\t}\n\t\t}\n\t\tmonitor.increment();\n\t}\n\n\t@Override\n\tpublic LaunchResult launchProgram(TaskMonitor monitor, LaunchConfigurator configurator) {\n\t\tif (requiresImage() && program == null) {\n\t\t\tthrow new IllegalStateException(\"Offer requires image, but no program given.\");\n\t\t}\n\t\tInternalTraceRmiService service = tool.getService(InternalTraceRmiService.class);\n\t\tDebuggerTraceManagerService traceManager =\n\t\t\ttool.getService(DebuggerTraceManagerService.class);\n\t\tfinal PromptMode mode = configurator.getPromptMode();\n\t\tboolean prompt = mode == PromptMode.ALWAYS;\n\n\t\tDefaultTraceRmiAcceptor acceptor = null;","sourceCodeStart":656,"sourceCodeEnd":692,"githubUrl":"https://github.com/NationalSecurityAgency/ghidra/blob/d5f144c24d6bc53c9cbf4448c6d11143e7696206/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java#L656-L692","documentation":"Thrown as NoStaticMappingException after the module-mapping wait timed out and the subsequent invokeMapper call returned false. Ghidra needs to correlate dynamic target modules with the static program image to resolve symbols; when no mapping can be established automatically or manually, the launch cannot proceed meaningfully.","triggerScenarios":"During launch, after the RMI connection is established, the platform waits for a module-mapping event. On timeout it tries to invoke the configured mapper; if that also fails to produce any mapping, this exception aborts the launch.","commonSituations":"The wrong program is open in Ghidra for the target being debugged; the target binary is stripped or uses unusual load addresses the mapper can't reconcile; ASLR with no base-address hint; a custom/proprietary binary with no standard module info; the static mapping service has no configured conventions for this target.","solutions":["Ensure the correct program (matching the target binary) is open and active in Ghidra before launching.","Manually establish a static mapping (via the Debugger Static Mapping UI) and retry the launch.","Check that the target exposes module information the mapper can use (symbols, base addresses).","If the target uses ASLR, configure the launch to provide the load base or disable ASLR for the session."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// Before launching, confirm a mapping convention exists for this program/target pair\nDebuggerStaticMappingService ms = tool.getService(DebuggerStaticMappingService.class);\nif (ms.findMapping(trace, program) == null) { /* warn user, offer manual mapping */ }","typeGuard":null,"tryCatchPattern":"try { performLaunch(...); }\ncatch (NoStaticMappingException e) {\n    // open the Static Mapping dialog, let user map, then retry\n}","preventionTips":["Open the correct program and set up static mappings before launching.","For ASLR targets, provide the load base or disable ASLR for the session.","Maintain mapping conventions for recurring target/program pairs."],"tags":["launch","static-mapping","module-mapping","ghidra-debug"],"backgroundTag":null,"analyzedSha":"d5f144c24d6bc53c9cbf4448c6d11143e7696206","analyzedAt":"2026-08-14T01:00:57.564Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}