I was not intentionally doing it. Some packages, for example mock in https://github.com/stretchr/testify use %#v to print debug information and this was causing a race condition in one of my failing tests because it was printing the context with %#v while some other code in my program was cancelling the context.
On Friday, March 16, 2018 at 10:27:58 AM UTC-4, rog wrote: > > On 16 March 2018 at 02:11, 'Anmol Sethi' via golang-nuts > <golan...@googlegroups.com <javascript:>> wrote: > > https://play.golang.org/p/82Um1jSntBo > > > > Please run with the race detector to see the race. > > > > This race condition arises because private variables are read via > reflection > > by the fmt package. Is there any elegant way to avoid such a race? > > Why are you using %#v? It can print all kinds of internal details > including, as you've found, fields that are mutex-guarded. > Why not use (say) %v instead? > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.