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
DDL/index pipeline call chains can overflow the 2 MiB tokio worker stack,
killing the node with a silent SIGSEGV: CREATE VECTOR INDEX / CREATE SORTED INDEX on a fresh node drops the connection ("server closed the
connection unexpectedly"), and several inproc tests abort with
"tokio-rt-worker has overflowed its stack".
Evidence
dmesg: tokio-rt-worker[…]: segfault … error 6 in nodedb (no OOM, disk
fine, RAM fine).
RUST_MIN_STACK=64M makes the identical operation succeed (1.2 s) —
finite-but-deep call chain, not infinite recursion.
Start the node with an empty data dir (ephemeral ports, NODEDB_DATA_PLANE_CORES=2).
Connect via psql and run:
CREATE COLLECTION vc TYPE document;
CREATE VECTOR INDEX idx ON vc (embedding) METRIC cosine DIM 3;
-- or: CREATE SORTED INDEX sidx ON vc (embedding DESC) KEY embedding;
Observed: the connection drops (server closed the connection unexpectedly); dmesg shows tokio-rt-worker[…]: segfault … error 6 in nodedb. With RUST_MIN_STACK=64M the same statements succeed.
Summary
DDL/index pipeline call chains can overflow the 2 MiB tokio worker stack,
killing the node with a silent SIGSEGV:
CREATE VECTOR INDEX/CREATE SORTED INDEXon a fresh node drops the connection ("server closed theconnection unexpectedly"), and several inproc tests abort with
"tokio-rt-worker has overflowed its stack".
Evidence
tokio-rt-worker[…]: segfault … error 6 in nodedb(no OOM, diskfine, RAM fine).
RUST_MIN_STACK=64Mmakes the identical operation succeed (1.2 s) —finite-but-deep call chain, not infinite recursion.
between CI and local runs).
Expected
Either raise the tokio worker stack size for index DDL / executor tasks,
or flatten the deep synchronous planning→dispatch→execution chain.
Related: #303 (same family exposed as ABRT in inproc sorted_index tests)
Reproduction
cargo build -p nodedb(any recent main; reproduced on dd2ed01 and the PR feat(sql): evaluate sequence accessors in constant contexts and kv projections #307 branch pre-fix).NODEDB_DATA_PLANE_CORES=2).Observed: the connection drops (
server closed the connection unexpectedly);dmesgshowstokio-rt-worker[…]: segfault … error 6 in nodedb. WithRUST_MIN_STACK=64Mthe same statements succeed.