{"record":{"id":"c941cd6384b77813","repo":"pola-rs/polars","slug":"failed-to-spawn-polars-ooc-cleaner-thread","errorCode":null,"errorMessage":"failed to spawn polars-ooc cleaner thread","messagePattern":"failed to spawn polars-ooc cleaner thread","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/polars-ooc/src/spill_file.rs","lineNumber":107,"sourceCode":"                                \"Error while removing spill directory '{}': {e}\",\n                                p.display()\n                            );\n                        }\n                    }\n                },\n                CleanRequest::Flush(ack) => drop(ack.send(())),\n            }\n        }\n    }\n}\n\nstatic SPILL_CLEANER: LazyLock<SpillCleaner> = LazyLock::new(|| {\n    let (send_rq, recv_rq) = channel();\n\n    std::thread::Builder::new()\n        .name(\"polars-ooc-cleaner\".into())\n        .spawn(move || SpillCleaner::run(recv_rq))\n        .expect(\"failed to spawn polars-ooc cleaner thread\");\n\n    SpillCleaner { send_rq }\n});\n\nenum CleanRequest {\n    File(PathBuf, u64),\n    #[expect(unused)]\n    Directory(PathBuf),\n    Flush(Sender<()>),\n}\n\n/// Delete spill directories left behind by dead processes.\n///\n/// Each subdirectory is named by its owning PID. Skips our own PID and\n/// any directory whose PID is still alive.\nfn cleanup_stale_dirs() {\n    let spill_dir = polars_config::config().ooc_spill_dir();\n    let Ok(entries) = std::fs::read_dir(&spill_dir) else {","sourceCodeStart":89,"sourceCodeEnd":125,"githubUrl":"https://github.com/pola-rs/polars/blob/df599052daf96e7a9cc30a3b0c6bd25d6947e3c0/crates/polars-ooc/src/spill_file.rs#L89-L125","documentation":"Error \"failed to spawn polars-ooc cleaner thread\" thrown in pola-rs/polars.","triggerScenarios":"Thrown at crates/polars-ooc/src/spill_file.rs:107 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"df599052daf96e7a9cc30a3b0c6bd25d6947e3c0","analyzedAt":"2026-08-16T12:10:03.978Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}