On Thursday, 10 November 2016 04:09:29 UTC-5, James Pettyjohn wrote: > > I ran into this on go 1.6.2 amd64, seems unlikely this is a core issue and > I need to look else where in the project but has anyone seen this before? > > fatal error: concurrent map read and map write > > goroutine 21619 [running]: > runtime.throw(0xfefc00, 0x21) > /usr/local/go/src/runtime/panic.go:547 +0x90 fp=0xc822727ac0 > sp=0xc822727aa8 > runtime.mapaccess1(0xca4a00, 0xc828346120, 0xc822727c58, 0x1931c00) > /usr/local/go/src/runtime/hashmap.go:289 +0x5a fp=0xc822727b08 > sp=0xc822727ac0 > net/http.(*Transport).tryPutIdleConn(0xc822c00b40, 0xc82181fc70, 0x0, 0x0) > /usr/local/go/src/net/http/transport.go:562 +0x41e fp=0xc822727c90 > sp=0xc822727b08 > net/http.(*persistConn).readLoop.func2(0xc82181fc70) > /usr/local/go/src/net/http/transport.go:1053 +0x32 fp=0xc822727cd0 > sp=0xc822727c90 > net/http.(*persistConn).readLoop(0xc82181fc70) > /usr/local/go/src/net/http/transport.go:1189 +0xc5d > fp=0xc822727fa8 sp=0xc822727cd0 > runtime.goexit() > /usr/local/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc822727fb0 > sp=0xc822727fa8 > created by net/http.(*Transport).dialConn > /usr/local/go/src/net/http/transport.go:857 +0x10a6 >
The locks surrounding idleConn map all look locally fine. Is it possible your application has made a (shallow) copy of an http.Transport? The old and new copies would share the same idleConn map "guarded" by different idleMu mutexes. -- 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.