• Stefy Lanza (nextime / spora )'s avatar
    vram: the F5-TTS releaser was never actually called · 0395bb47
    Stefy Lanza (nextime / spora ) authored
    Found in a production log, during a FULL VRAM CLEANUP ahead of a LoRA training
    job:
    
      Warning in external VRAM releaser: release_f5_engine() takes 0 positional
      arguments but 1 was given
    
    The manager calls every external releaser as `fn(needed_gb)` and sums what they
    return. release_f5_engine() declared no parameter, so every call raised TypeError
    straight into the manager's warning path: the cached F5-TTS engine held its VRAM
    through every eviction, including the exclusive ones that exist precisely because
    training needs the whole card. It failed quietly — the warning is one line in a
    cleanup that otherwise reports success.
    
    It now takes needed_gb and returns the VRAM delta it observed, like the other
    four releasers.
    
    The test checks the shape statically, across every
    register_external_vram_releaser call in the tree, so the next releaser cannot be
    registered with a signature the manager cannot call. Written against the real
    contract: one positional argument, and a value returned. (It first asserted a
    default was required too, which flagged _cosite_vram_releaser — but the manager
    always passes the argument, so that was the test inventing a rule.)
    
    11 tests. Added with -f: .gitignore ignores test_*.py by default.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0182DhR1eFNPQyGmDrpHbedY
    0395bb47
voice_clone.py 37.1 KB