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
P0-3: meta is never populated after inline hydra_config first load — update_meta() only called at startup, not after apply_t3_rebuild() in the inline path.
P0-4: apply_t3_rebuild() is called from HTTP worker thread (line 6669) without mutex, racing the main task-queue thread that accesses the same ctx_tgt/model_tgt/slots state.
Fix
Remove the inline HTTP bootstrap from post_chat_completions entirely. Instead:
Test: Start engine without --model, send CONFIGURE with model_path
Check: meta populated, no null-deref, no race under concurrent load
E2E confirmation
Source analysis confirmed: inline path bypasses task queue, races main thread, never populates meta. CONFIGURE(0x40) path is the documented, queue-mediated mechanism that already works on both binaries.
Fix for #49 P0-3 and P0-4
Problem
P0-3:
metais never populated after inline hydra_config first load —update_meta()only called at startup, not afterapply_t3_rebuild()in the inline path.P0-4:
apply_t3_rebuild()is called from HTTP worker thread (line 6669) without mutex, racing the main task-queue thread that accesses the samectx_tgt/model_tgt/slotsstate.Fix
Remove the inline HTTP bootstrap from
post_chat_completionsentirely. Instead:&& ctx_tgtguard inprocess_single_task()(server-context.cpp:3259,3265) — now unnecessary since fork: hydra_config inline T3 + hydra_metrics response (hydra_vortex #411) #48 made T3 statics ctx-independentFiles to modify
tools/server/server-context.cpp— Remove inline hydra_config block frompost_chat_completions(lines 6633-6689)tools/server/server-context.cpp— Remove&& ctx_tgtguard in CONFIGURE handler (lines 3259,3265)Verification
cmake --build build_sm120 --target llama-engine--model, send CONFIGURE with model_pathE2E confirmation
Source analysis confirmed: inline path bypasses task queue, races main thread, never populates meta. CONFIGURE(0x40) path is the documented, queue-mediated mechanism that already works on both binaries.
Cross-repo