Video: a local FILE picked for a gguf/single_file load is handed straight to the loader (the resolver returns the file itself, ignoring gguf_filename), so its own suffix must match the kind. A .gguf picked as single_file (or a .safetensors picked as gguf) slipped past the gguf_filename checks, evicting the resident GPU owner before failing in from_single_file. Reject the mismatch in validate, before the handoff. Engine router: publish the newly selected engine only after the old one finishes unloading. The arbiter's diffusion evictor unloads the active engine, so flipping the active name to the new (empty) engine first let a concurrent chat/video acquire evict that empty engine and take the GPU while the old model was still freeing VRAM. |
||
|---|---|---|
| .. | ||
| assets | ||
| auth | ||
| core | ||
| hub | ||
| loggers | ||
| models | ||
| plugins | ||
| requirements | ||
| routes | ||
| state | ||
| storage | ||
| tests | ||
| utils | ||
| __init__.py | ||
| _platform_compat.py | ||
| cloudflare_tunnel.py | ||
| colab.py | ||
| main.py | ||
| run.py | ||
| startup_banner.py | ||