🇪🇸 Español
Entre parser.parse() y tree.delete() hay cuatro compilaciones language.query() y bucles de captura. Si alguno lanza una excepción, nunca se llega a tree.delete() y el árbol WASM se filtra; el request termina en un 500 genérico.
Archivo: src/lib/analysis/analyzers/shared.ts:112-157
Solución sugerida: Envolver el cuerpo en try { ... } finally { tree.delete(); }.
🇬🇧 English
Between parser.parse() and tree.delete() there are four language.query() compilations and capture loops. If any throws, tree.delete() is never reached and the WASM-backed tree leaks; the request fails into a generic 500.
File: src/lib/analysis/analyzers/shared.ts:112-157
Suggested fix: Wrap the body in try { ... } finally { tree.delete(); }.
🇪🇸 Español
Entre
parser.parse()ytree.delete()hay cuatro compilacioneslanguage.query()y bucles de captura. Si alguno lanza una excepción, nunca se llega atree.delete()y el árbol WASM se filtra; el request termina en un 500 genérico.Archivo:
src/lib/analysis/analyzers/shared.ts:112-157Solución sugerida: Envolver el cuerpo en
try { ... } finally { tree.delete(); }.🇬🇧 English
Between
parser.parse()andtree.delete()there are fourlanguage.query()compilations and capture loops. If any throws,tree.delete()is never reached and the WASM-backed tree leaks; the request fails into a generic 500.File:
src/lib/analysis/analyzers/shared.ts:112-157Suggested fix: Wrap the body in
try { ... } finally { tree.delete(); }.