{"record":{"id":"13c5d0d98873550a","repo":"2noise/ChatTTS","slug":"out-of-memory-no-free-blocks-are-available","errorCode":null,"errorMessage":"Out of memory! No free blocks are available.","messagePattern":"Out of memory! No free blocks are available\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"ChatTTS/model/velocity/block_manager.py","lineNumber":42,"sourceCode":"        device: Device,\n        block_size: int,\n        num_blocks: int,\n    ) -> None:\n        self.device = device\n        self.block_size = block_size\n        self.num_blocks = num_blocks\n\n        # Initialize the free blocks.\n        self.free_blocks: BlockTable = []\n        for i in range(num_blocks):\n            block = PhysicalTokenBlock(\n                device=device, block_number=i, block_size=block_size\n            )\n            self.free_blocks.append(block)\n\n    def allocate(self) -> PhysicalTokenBlock:\n        if not self.free_blocks:\n            raise ValueError(\"Out of memory! No free blocks are available.\")\n        block = self.free_blocks.pop()\n        block.ref_count = 1\n        return block\n\n    def free(self, block: PhysicalTokenBlock) -> None:\n        if block.ref_count == 0:\n            raise ValueError(f\"Double free! {block} is already freed.\")\n        block.ref_count -= 1\n        if block.ref_count == 0:\n            self.free_blocks.append(block)\n\n    def get_num_free_blocks(self) -> int:\n        return len(self.free_blocks)\n\n\nclass AllocStatus(enum.Enum):\n    \"\"\"Result for BlockSpaceManager.can_allocate\n","sourceCodeStart":24,"sourceCodeEnd":60,"githubUrl":"https://github.com/2noise/ChatTTS/blob/77b89ee281cd479f5b1a787ada330dc975ca1f2a/ChatTTS/model/velocity/block_manager.py#L24-L60","documentation":"Error \"Out of memory! No free blocks are available.\" thrown in 2noise/ChatTTS.","triggerScenarios":"Thrown at ChatTTS/model/velocity/block_manager.py:42 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":"77b89ee281cd479f5b1a787ada330dc975ca1f2a","analyzedAt":"2026-08-26T17:48:24.233Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}