Thanks. From the use of a lock in other ReportMsg implementations I'd assumed concurrent calls to it was the most likely race. I'll update with a RWMutex.