mirror of
https://github.com/facebookresearch/faiss.git
synced 2026-10-12 02:13:36 +00:00
Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/5209 Three fixes for GitHub Actions CI build/test failures: 1. sqlite3 "database is locked" error (cuVS cmake builds) conda-libmamba-solver 26.4.0 uses a SQLite shards cache for package index data. When consecutive conda install commands run in the same job step, the SQLite lock from the first install is not fully released before the second install begins, causing: sqlite3.OperationalError: database is locked Fix: Add conda clean --index-cache between the cuVS and PyTorch conda installs to flush the shards cache and release the lock. 2. OpenBLAS version pin conflict (ARM64 conda builds) conda-forge removed openblas 0.3.32, making it unresolvable. The conda recipes pinned 0.3.32 for non-x86_64 (ARM64) and macOS builds, causing: package libfaiss requires openblas 0.3.32.*, but none of the providers can be installed Fix: Bump all openblas/libopenblas pins from 0.3.32 to 0.3.33 in the conda recipes and from 0.3.29 to 0.3.33 in the cmake CI action. 3. Flaky SVS LeanVec test aborts (SVSLL tests) IndexSVSVamanaLeanVec::~IndexSVSVamanaLeanVec() explicitly called IndexSVSVamana::~IndexSVSVamana(), but C++ destructor chaining already calls the base destructor automatically. This caused double-destruction of base class members (notably std::vector<float> stored_vectors), resulting in a double-free and non-deterministic SIGABRT. The IVF variant (IndexSVSIVFLeanVec) correctly omits this call. Fix: Remove the explicit base destructor call; let C++ handle it. Reviewed By: pankajsingh88 Differential Revision: D104902441 fbshipit-source-id: c4ab80a4c1fdeb9976c4e089dfb95814284824a7