{"id":"82d9e9eadbe74510","repo":"rust-lang/cargo","slug":"no-sessions-found-context-82d9e9","errorCode":null,"errorMessage":"no sessions found{context}","messagePattern":"no sessions found(.+?)","errorType":"exception","errorClass":"AlreadyPrintedError","httpStatus":null,"severity":"error","filePath":"src/ops/cargo_report/sessions.rs","lineNumber":46,"sourceCode":"                .unwrap_or(true)\n        })\n        .take(opts.limit + 1)\n        .collect();\n\n    if sessions.is_empty() {\n        let context = if let Some(ws) = ws {\n            format!(\" for workspace at `{}`\", ws.root().display())\n        } else {\n            String::new()\n        };\n        let title = format!(\"no sessions found{context}\");\n        let note = \"run build commands with `-Z build-analysis` to generate log files\";\n\n        let report = [Level::ERROR\n            .primary_title(title)\n            .element(Level::NOTE.message(note))];\n        gctx.shell().print_report(&report, false)?;\n        return Err(crate::AlreadyPrintedError::new(anyhow::anyhow!(\"\")).into());\n    }\n\n    let truncated = sessions.len() > opts.limit;\n    let display_count = opts.limit.min(sessions.len());\n\n    let mut shell = gctx.shell();\n    let stderr = shell.err();\n\n    if let Some(ws) = ws {\n        writeln!(\n            stderr,\n            \"Session IDs for `{}` (most recent first):\",\n            ws.root().display(),\n        )?;\n    } else {\n        writeln!(stderr, \"Session IDs (most recent first):\",)?\n    };\n    writeln!(stderr)?;","sourceCodeStart":28,"sourceCodeEnd":64,"githubUrl":"https://github.com/rust-lang/cargo/blob/0e07a155371a6ce88ae53a2c00df940280c09a67/src/ops/cargo_report/sessions.rs#L28-L64","documentation":"`cargo report sessions` lists build-analysis sessions from log files on disk. If list_log_files yields none for the (workspace's) run id set, it emits 'no sessions found' and bails at sessions.rs:46. Sessions are only created when builds run with -Z build-analysis.","triggerScenarios":"Running `cargo report sessions` before any build has been executed with `-Z build-analysis` enabled.","commonSituations":"First use of the build-analysis subsystem; logs deleted; running on stable where the flag is unavailable.","solutions":["Run any build command with `-Z build-analysis` (e.g. `cargo +nightly build -Z build-analysis`) to create a session.","Verify the log directory under the cargo target/home is writable and not cleaned by an external process.","Use a nightly toolchain; the flag is unstable."],"exampleFix":"# before\n$ cargo report sessions\nerror: no sessions found\n\n# after\n$ cargo +nightly build -Z build-analysis\n$ cargo +nightly report sessions","handlingStrategy":"validation","validationCode":"# Check for any session log before listing sessions:\nlog_dir=\"${CARGO_TARGET_DIR:-target}/build-analysis\"\nif [ ! -d \"$log_dir\" ] || [ -z \"$(ls -A \"$log_dir\" 2>/dev/null)\" ]; then\n  echo \"no sessions; run: cargo +nightly build -Z build-analysis\" >&2\n  exit 1\nfi\ncargo report sessions","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run at least one `-Z build-analysis` build before reporting.","Use nightly; the flag is unstable.","Avoid cleaning the target dir between build and report."],"tags":["report","build-analysis","experimental","sessions","nightly"],"analyzedSha":"0e07a155371a6ce88ae53a2c00df940280c09a67","analyzedAt":"2026-08-06T01:46:58.334Z","schemaVersion":2}