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
{{ message }}
Repository navigation
CREATE_FTS_INDEX segfaults on Linux x86_64 with non-trivial data volumes #430
CREATE_FTS_INDEX segfaults (SIGSEGV, exit code 139) when called on node tables with non-trivial data volumes on Linux x86_64. The FTS extension loads successfully — the crash occurs specifically during index creation.
Works: In-memory DB with 2 rows — index creates, queries return correct results. Crashes: On-disk DB with 1,000+ rows — segfaults immediately on CREATE_FTS_INDEX.
Minimal Reproduction
constDatabase=require("@ladybugdb/core/database.js");constConnection=require("@ladybugdb/core/connection.js");asyncfunctiontest(){// This works fine:constmemDb=newDatabase(":memory:");constmemConn=newConnection(memDb);awaitmemConn.init();awaitmemConn.query("CREATE NODE TABLE T(id INT64, name STRING, content STRING, PRIMARY KEY(id))");awaitmemConn.query("CREATE (n:T {id: 1, name: 'foo', content: 'hello world'})");awaitmemConn.query("LOAD EXTENSION fts");awaitmemConn.query("CALL CREATE_FTS_INDEX('T', 'test_fts', ['name', 'content'], stemmer := 'porter')");console.log("In-memory: OK");// ✅ Works// This segfaults:constdiskDb=newDatabase("/path/to/existing/db/with/1000+/rows");constdiskConn=newConnection(diskDb);awaitdiskConn.init();awaitdiskConn.query("LOAD EXTENSION fts");// Next line causes SIGSEGV:awaitdiskConn.query("CALL CREATE_FTS_INDEX('SomeTable', 'some_fts', ['name', 'content'], stemmer := 'porter')");}test();
Likely Root Cause
This appears to be inherited from the upstream KuzuDB codebase:
KuzuDB #6017: All FTS end-to-end tests were failing FSM (Free Space Manager) leak checks
KuzuDB #5671: Assertion failure in hash_index.cpp:174 during FTS checkpoint path when processing non-trivial data volumes
KuzuDB was archived with these bugs unresolved, and LadybugDB inherited the affected code.
Affects all GitNexus Linux users (FTS couldn't even load before v0.15.4 due to GLIBC requirements, and now that it loads, it segfaults on index creation)
Additional Notes
Tested with both @ladybugdb/core@0.15.4 (stable) and @ladybugdb/core@0.15.4-dev.20260428 (today's nightly) — same crash on both
Indexing name-only columns (excluding content) also segfaults — it's not a data size issue per row, but total row count
The segfault is in the native binary (lbugjs.node), not in JavaScript code
Activity
adsharma commentedon Apr 28, 2026
The old extension binaries are incompatible due to ABI changes. We need to respin them. Root cause is #332
The simplest fix is to bump up the major rev to 0.16.0 and update the extensions.
adsharma commentedon Apr 29, 2026
v0.16.0 is out. Please retest.
adsharma commentedon May 18, 2026
Merged LadybugDB/extensions#1. Concurrent access to the unordered_map could be the root cause. Please retest when 0.17.x is released.