{"record":{"id":"521e841dfe1ff923","repo":"tracel-ai/burn","slug":"error-when-deleting-the-state-err","errorCode":null,"errorMessage":"Error when deleting the state: {err}","messagePattern":"Error when deleting the state: (.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/burn-train/src/checkpoint/async_checkpoint.rs","lineNumber":54,"sourceCode":"                                    \"Error when sending response through callback channel: {err}\"\n                                )\n                            },\n                            |int| int.stop(Some(&err.to_string())),\n                        )\n                    });\n                }\n                Message::Save(epoch, state, interrupter) => {\n                    self.checkpointer.save(epoch, state).unwrap_or_else(|err| {\n                        interrupter.map_or_else(\n                            || panic!(\"Error when saving the state: {err}\"),\n                            |int| int.stop(Some(&err.to_string())),\n                        )\n                    });\n                }\n                Message::Delete(epoch, interrupter) => {\n                    self.checkpointer.delete(epoch).unwrap_or_else(|err| {\n                        interrupter.map_or_else(\n                            || panic!(\"Error when deleting the state: {err}\"),\n                            |int| int.stop(Some(&err.to_string())),\n                        )\n                    });\n                }\n\n                Message::End => {\n                    return;\n                }\n            };\n        }\n    }\n}\n\n/// Async checkpointer.\npub struct AsyncCheckpointer<R> {\n    sender: mpsc::SyncSender<Message<R>>,\n    handler: Option<std::thread::JoinHandle<()>>,\n    interrupter: Option<Interrupter>,","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/tracel-ai/burn/blob/d16f7ba2ed0d41408189384044cc886fb4c8f957/crates/burn-train/src/checkpoint/async_checkpoint.rs#L36-L72","documentation":"Sentinel guard in the training checkpointing background thread: when a checkpoint save/delete I/O operation fails and no interrupter (graceful shutdown channel) is available, the async checkpoint handler panics, aborting the checkpoint worker thread because training cannot safely continue without reliable checkpoint persistence.","triggerScenarios":"Thrown at crates/burn-train/src/checkpoint/async_checkpoint.rs:54 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check disk space and filesystem permissions on the checkpoint directory","Verify the checkpoint path exists and is writable by the training process","Inspect the wrapped `err` for the underlying I/O cause (e.g., device full, permission denied)","If the interrupter was available, prefer the graceful-stop path instead of reaching this panic"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d16f7ba2ed0d41408189384044cc886fb4c8f957","analyzedAt":"2026-09-05T13:19:14.260Z","contentChangedAt":"2026-09-05T13:19:14.260Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}