mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-09-27 02:07:56 +00:00
IngestNewFromDB/IngestNewObservations call resolveEntryPointArea while already holding s.mu.Lock() (write lock). resolveEntryPointArea then tried to s.mu.RLock() the same non-reentrant mutex, deadlocking the goroutine permanently and blocking every other s.mu waiter -- this stalled LoadChunked mid-startup and hung /api/stats on stg. getCachedNodesAndPM() guards itself with its own cacheMu and never touches s.mu, so the RLock/RUnlock wrapping was unnecessary.