Commit d3a2d22
fix: block ChromaDB 1.5.7 segfault triggers and search None crash
Two in-code triggers for ChromaDB 1.5.7 Rust-bindings segfaults were
collapsed under the fork's generic "call mempalace_reconnect" workaround.
Both are fixable:
- get_or_create_collection(name, metadata={"hnsw:space":"cosine"}) on an
existing collection with differing metadata crashes the Rust compactor.
Fetch first; only pass metadata on fresh creation. Applied in
ChromaBackend.get_collection and mcp_server._get_collection.
- Opening a Python sqlite3 connection against the live chroma.sqlite3
corrupts the next PersistentClient call. _fix_blob_seq_ids now writes
a .blob_seq_ids_migrated marker after success and skips the sqlite
open on subsequent runs; already-migrated palaces can touch the
marker to opt into the fast path.
Also:
- searcher.print-path guards against None drawer metadata (was raising
AttributeError mid-render after partial results).
- hook scripts marked executable.
- gitignore the .claude-plugin/venv symlink used to point hook
auto-detection at the repo's venv.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>1 parent 7a454f6 commit d3a2d22
6 files changed
Lines changed: 39 additions & 8 deletions
File tree
- .claude-plugin/hooks
- mempalace
- backends
File mode changed.
File mode changed.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
14 | 17 | | |
15 | 18 | | |
16 | 19 | | |
| |||
20 | 23 | | |
21 | 24 | | |
22 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
23 | 31 | | |
24 | 32 | | |
25 | 33 | | |
26 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
27 | 38 | | |
28 | 39 | | |
| 40 | + | |
29 | 41 | | |
30 | 42 | | |
31 | 43 | | |
32 | 44 | | |
33 | 45 | | |
34 | 46 | | |
35 | 47 | | |
36 | | - | |
37 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
38 | 51 | | |
39 | 52 | | |
40 | 53 | | |
41 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
42 | 60 | | |
43 | 61 | | |
44 | 62 | | |
| |||
125 | 143 | | |
126 | 144 | | |
127 | 145 | | |
128 | | - | |
129 | | - | |
130 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
131 | 155 | | |
132 | 156 | | |
133 | 157 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
206 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
207 | 212 | | |
208 | 213 | | |
209 | | - | |
| 214 | + | |
210 | 215 | | |
211 | 216 | | |
212 | 217 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
273 | 274 | | |
274 | 275 | | |
275 | 276 | | |
| |||
0 commit comments