mirror of
https://github.com/XRPLF/rippled.git
synced 2026-09-26 23:19:07 +00:00
SetRuntimeContextStorage() writes a process-global shared_ptr that every log line reads through RuntimeContext::GetCurrent(). Neither side is atomic, and assigning the wrapper destroys it and placement-news a replacement over the same buffer, so a concurrent reader could make a virtual call through an indeterminate vptr. Install it in main() while the process is still single-threaded instead, and drop the member that held it. Gated on the telemetry section being enabled. Only that one key is read here, because parsing the whole section can throw on a contradictory TLS combination and that error belongs where it already reports. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>