I saw this after running MachineWithCharmsSuite.TestManageModelRunsCharmRevisionUpdater for a while with the race flag.
==================
WARNING: DATA RACE
Read at 0x00c0002850b8 by goroutine 158:
github.com/juju/juju/cmd/jujud/agent.startAddressPublisher.func1()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_test.go:1388 +0x145
Previous write at 0x00c0002850b8 by goroutine 91:
[failed to restore the stack]
Goroutine 158 (running) created at:
github.com/juju/juju/cmd/jujud/agent.startAddressPublisher()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_test.go:1382 +0x7d
github.com/juju/juju/cmd/jujud/agent.(*MachineWithCharmsSuite).TestManageModelRunsCharmRevisionUpdater()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_charms_test.go:57 +0x1bb
runtime.call32()
/usr/local/go/src/runtime/asm_amd64.s:539 +0x3a
reflect.Value.Call()
/usr/local/go/src/reflect/value.go:321 +0xd3
gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:781 +0xa0a
gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:675 +0xd9
Goroutine 91 (running) created at:
github.com/juju/juju/cmd/jujud/agent.(*MachineWithCharmsSuite).TestManageModelRunsCharmRevisionUpdater()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_charms_test.go:51 +0x13a
runtime.call32()
/usr/local/go/src/runtime/asm_amd64.s:539 +0x3a
reflect.Value.Call()
/usr/local/go/src/reflect/value.go:321 +0xd3
gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:781 +0xa0a
gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:675 +0xd9
==================
==================
WARNING: DATA RACE
Read at 0x00c000d423f8 by goroutine 158:
github.com/juju/pubsub.(*StructuredHub).toStringMap()
/home/joseph/go/src/github.com/juju/juju/vendor/github.com/juju/pubsub/structuredhub.go:146 +0x2a8
github.com/juju/pubsub.(*StructuredHub).Publish()
/home/joseph/go/src/github.com/juju/juju/vendor/github.com/juju/pubsub/structuredhub.go:116 +0x76
github.com/juju/juju/cmd/jujud/agent.startAddressPublisher.func1()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_test.go:1392 +0x2c4
Previous write at 0x00c000d423f8 by goroutine 91:
[failed to restore the stack]
Goroutine 158 (running) created at:
github.com/juju/juju/cmd/jujud/agent.startAddressPublisher()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_test.go:1382 +0x7d
github.com/juju/juju/cmd/jujud/agent.(*MachineWithCharmsSuite).TestManageModelRunsCharmRevisionUpdater()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_charms_test.go:57 +0x1bb
runtime.call32()
/usr/local/go/src/runtime/asm_amd64.s:539 +0x3a
reflect.Value.Call()
/usr/local/go/src/reflect/value.go:321 +0xd3
gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:781 +0xa0a
gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:675 +0xd9
Goroutine 91 (running) created at:
github.com/juju/juju/cmd/jujud/agent.(*MachineWithCharmsSuite).TestManageModelRunsCharmRevisionUpdater()
/home/joseph/go/src/github.com/juju/juju/cmd/jujud/agent/machine_charms_test.go:51 +0x13a
runtime.call32()
/usr/local/go/src/runtime/asm_amd64.s:539 +0x3a
reflect.Value.Call()
/usr/local/go/src/reflect/value.go:321 +0xd3
gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:781 +0xa0a
gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
/home/joseph/go/src/github.com/juju/juju/vendor/gopkg.in/check.v1/check.go:675 +0xd9
==================
PASS: machine_charms_test.go:45: MachineWithCharmsSuite.TestManageModelRunsCharmRevisionUpdater 7.138s
OK: 1 passed
--- FAIL: TestPackage (8.20s)
testing.go:906: race detected during execution of test
FAIL
exit status 1
FAIL github.com/juju/juju/cmd/jujud/agent 8.311s
Already fixed in 2.8 branch