{"record":{"id":"1309756b21e7cb3c","repo":"zed-industries/zed","slug":"the-process-id-to-be-already-filled-out","errorCode":null,"errorMessage":"The process ID to be already filled out.","messagePattern":"The process ID to be already filled out\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/task/src/debug_format.rs","lineNumber":145,"sourceCode":"                        cwd: launch_request\n                            .cwd\n                            .as_ref()\n                            .map(|cwd| cwd.to_string_lossy().into_owned()),\n                        args: launch_request.args.clone(),\n                        env: launch_request\n                            .env\n                            .iter()\n                            .map(|(k, v)| (k.clone(), v.clone()))\n                            .collect(),\n                    },\n                )),\n            },\n            DebugRequest::Attach(attach_request) => proto::DebugRequest {\n                request: Some(proto::debug_request::Request::DebugAttachRequest(\n                    proto::DebugAttachRequest {\n                        process_id: attach_request\n                            .process_id\n                            .expect(\"The process ID to be already filled out.\"),\n                    },\n                )),\n            },\n        }\n    }\n\n    pub fn from_proto(val: proto::DebugRequest) -> Result<DebugRequest> {\n        let request = val.request.context(\"Missing debug request\")?;\n        match request {\n            proto::debug_request::Request::DebugLaunchRequest(proto::DebugLaunchRequest {\n                program,\n                cwd,\n                args,\n                env,\n            }) => Ok(DebugRequest::Launch(LaunchRequest {\n                program,\n                cwd: cwd.map(From::from),\n                args,","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/task/src/debug_format.rs#L127-L163","documentation":"When converting a DAP Attach request to protobuf, the process ID field is asserted to already be filled out; an attach request without a PID cannot be serialized, indicating an upstream debug configuration that never resolved its process ID.","triggerScenarios":"Thrown at crates/task/src/debug_format.rs:145 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Validate attach requests carry a process ID before conversion","Resolve the PID earlier in debug scenario setup","Send an Option/absent PID instead of asserting"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}