{"record":{"id":"42134349cc736c62","repo":"tracel-ai/burn","slug":"can-save-learning-agent-checkpoint","errorCode":null,"errorMessage":"Can save learning agent checkpoint.","messagePattern":"Can save learning agent checkpoint\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/burn-train/src/learner/rl/checkpointer.rs","lineNumber":50,"sourceCode":"        let actions = self.strategy.checkpointing(epoch, store);\n\n        for action in actions {\n            match action {\n                CheckpointingAction::Delete(epoch) => {\n                    self.policy\n                        .delete(epoch)\n                        .expect(\"Can delete policy checkpoint.\");\n                    self.learning_agent\n                        .delete(epoch)\n                        .expect(\"Can delete learning agent checkpoint.\")\n                }\n                CheckpointingAction::Save => {\n                    self.policy\n                        .save(epoch, policy.clone().into_record())\n                        .expect(\"Can save policy checkpoint.\");\n                    self.learning_agent\n                        .save(epoch, learning_agent.record())\n                        .expect(\"Can save learning agent checkpoint.\");\n                }\n            }\n        }\n    }\n\n    /// Load a training checkpoint.\n    pub fn load_checkpoint(\n        &self,\n        learning_agent: RLC::LearningAgent,\n        epoch: usize,\n    ) -> RLC::LearningAgent {\n        let record = self\n            .policy\n            .restore(epoch)\n            .expect(\"Can load model checkpoint.\");\n        let policy = learning_agent.policy().load_record(record);\n\n        let record = self","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/tracel-ai/burn/blob/d16f7ba2ed0d41408189384044cc886fb4c8f957/crates/burn-train/src/learner/rl/checkpointer.rs#L32-L68","documentation":"Guard in the RL checkpointer's `checkpoint`: saving the learning agent checkpoint for the current epoch failed, so the checkpointer panics because losing agent state breaks resume-from-checkpoint guarantees.","triggerScenarios":"Thrown at crates/burn-train/src/learner/rl/checkpointer.rs:50 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the checkpoint path is writable and has free space","Inspect the wrapped save error for the root cause","Ensure policy and agent records serialize with the enabled features"],"exampleFix":null,"handlingStrategy":"retry","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"}