SEGFAULT (0xC0000005) on Windows x64 when executing LOAD VECTOR
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- cpp, node.js
- Área
- databases, operating-systems
Línea de trabajo
Start by running the provided test.mjs on Windows x64 to reproduce the deterministic crash. Trace initLbug() through doInitLbug() and loadVectorExtension(), focusing on the VECTOR extension's native initialization and Windows loading path. Done means LOAD VECTOR no longer terminates the Node.js process, with the chosen behavior verified for the database when extension loading fails.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
LOAD VECTOR triggers a native access violation (segfault) on Windows x64, crashing the entire Node.js process. INSTALL VECTOR succeeds, but LOAD VECTOR immediately causes STATUS_ACCESS_VIOLATION (0xC0000005).
Environment
| Item | Value |
|---|---|
| OS | Windows 11 x64 |
| Node.js | v22.15.0 |
@ladybugdb/core |
0.15.4 |
lbugjs.node |
13,227,008 bytes |
| CPU | (available on request) |
Reproduction
// test.mjs — place inside any project with @ladybugdb/core installed
import lbug from '@ladybugdb/core';
import fs from 'fs/promises';
import path from 'path';
const dbPath = './test.lbug';
await fs.mkdir(path.dirname(dbPath), { recursive: true });
const db = new lbug.Database(dbPath);
const conn = new lbug.Connection(db);
// This works fine
await conn.query('CREATE NODE TABLE Test (id STRING, PRIMARY KEY(id))');
console.log('Schema OK');
// This works fine
await conn.query('INSTALL VECTOR');
console.log('INSTALL VECTOR: OK');
// This crashes the process with 0xC0000005
await conn.query('LOAD VECTOR');
console.log('This line is never reached');
await conn.close();
node test.mjs
# Output:
# Schema OK
# INSTALL VECTOR: OK
# LOAD VECTOR...
# <process exits with code -1073741819>
Exit code -1073741819 = 0xC0000005 = STATUS_ACCESS_VIOLATION.
Isolation Tests
All of the following work without any crash:
| Test | Result |
|---|---|
require('@ladybugdb/core') native addon load |
✅ |
new lbug.Database(path) |
✅ |
new lbug.Connection(db) |
✅ |
| 33 schema creation queries (tables, indexes, etc.) | ✅ all pass |
INSTALL VECTOR |
✅ |
LOAD VECTOR |
💥 SEGFAULT |
tree-sitter native + @ladybugdb/core co-loaded |
✅ |
onnxruntime-node + @ladybugdb/core co-loaded |
✅ |
The crash is deterministic and occurs on every LOAD VECTOR call, regardless of:
- Database content (empty or populated)
- Other native addons loaded before/after
--max-old-space-sizeor--stack-sizeNode.js flags- Working directory or path length
Downstream Impact
This crash makes gitnexus analyze completely unusable on Windows, because gitnexus calls initLbug() → doInitLbug() → loadVectorExtension() → conn.query('LOAD VECTOR') during every repository indexing operation.
GitNexus issue: (pending)
Suggested Fix
- Investigate the VECTOR extension's native initialization on Windows x64 — likely an uninitialized pointer, missing SIMD fallback, or DLL dependency issue in the extension loading path.
- As a workaround, consider making VECTOR extension loading optional/catchable so that the database remains usable (without vector search) even if the extension fails to load.
- Lenguaje dominante
- C++
- Estrellas
- 1.8k
- Forks
- 148
- Merge medio
- 14 h 57 min
- PR fusionados (30 d)
- 124
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de LadybugDB/ladybug
-
Bug: SET p.prop = NULL ... RETURN p.prop returns the old value for every row except the firstPosiblemente ocupada @Tyagiquamar la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Planner follow-ups from #1125 review: null outerAccumulate segfault under enable_plan_optimizer=false, no cost guard for the correlated-PK chain, and late filter-scope errorsPosiblemente ocupada @Tyagiquamar la tomó hace 1 día. Abiertobug
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Bug: is_sorted assertion in scanCommittedInMem after a failed checkpoint with deleted in-memory relsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
LadybugDB/ladybug#1117 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de LadybugDB/ladybug
Issues similares
-
Component: Python API
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Vector35/binaryninja-api#8649 ·
Los mantenedores suelen responder en 3 días
-
ai_p2 comp-parquet-reader-v3
Dificultad 2/5 Medio día Aptitud para principiantes 66/100
ClickHouse/ClickHouse#124986 ·
Los mantenedores suelen responder en 1 día
-
bug product: very_good_flutter_plugin
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
VeryGoodOpenSource/very_good_templates#654 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AcademySoftwareFoundation/OpenImageIO#5550 ·
Los mantenedores suelen responder en 2 días