You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Processing all pages (detect/OCR/translate/inpaint/render) grew RAM
monotonically and never released it. Three independent leaks:
- Frontend: useBlobImage created object URLs that were never revoked, so
every sprite/inpaint/render blob pinned a full decoded image in the
webview for the whole run. Revoke URLs on query-cache eviction and drop
the blob gcTime from 10min to 1min so inactive pages release promptly.
- Metal: candle's Metal ops and the MPSGraph FFT allocate autoreleased
Objective-C objects (command buffers, MPS intermediates), and the
pipeline runs on tokio worker threads with no autorelease pool draining,
so they accumulate for the entire run. Wrap the LaMa per-crop forward
and the FFT calls in objc2 autorelease pools (no-op off Metal).
- Unbounded caches: the LaMa FFT-plan caches (keyed by crop shape) and the
flux2 Qwen prompt cache lived on whole-run engine instances and were
never evicted. Bound them with LruCache.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments