worker/leadership: data races in test and code

Bug #1459064 reported by Dave Cheney on 2015-05-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Medium
Dave Cheney

Bug Description

==================
WARNING: DATA RACE
Read by goroutine 39:
  github.com/juju/testing.(*Stub).CheckCallNames()
      /home/dfc/src/github.com/juju/testing/stub.go:190 +0x43
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:163 +0xb1
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionAlreadyMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:368 +0x8b8
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 42:
  github.com/juju/testing.(*Stub).MethodCall()
      /home/dfc/src/github.com/juju/testing/stub.go:148 +0x235
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).BlockUntilLeadershipReleased()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:26 +0x1ad
  github.com/juju/juju/worker/leadership.(*tracker).setMinion.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:209 +0x2b3

Goroutine 39 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 42 (running) created at:
  github.com/juju/juju/worker/leadership.(*tracker).setMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:219 +0x327
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:173 +0x4f4
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:124 +0x24a
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97
==================
==================
WARNING: DATA RACE
Read by goroutine 39:
  github.com/juju/testing.stubCallNames()
      /home/dfc/src/github.com/juju/testing/stub.go:196 +0xcd
  github.com/juju/testing.(*Stub).CheckCallNames()
      /home/dfc/src/github.com/juju/testing/stub.go:190 +0x69
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:163 +0xb1
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionAlreadyMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:368 +0x8b8
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 42:
  github.com/juju/testing.(*Stub).MethodCall()
      /home/dfc/src/github.com/juju/testing/stub.go:148 +0x1c1
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).BlockUntilLeadershipReleased()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:26 +0x1ad
  github.com/juju/juju/worker/leadership.(*tracker).setMinion.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:209 +0x2b3

Goroutine 39 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 42 (running) created at:
  github.com/juju/juju/worker/leadership.(*tracker).setMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:219 +0x327
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:173 +0x4f4
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:124 +0x24a
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97
==================
==================
WARNING: DATA RACE
Read by goroutine 39:
  reflect.Value.IsNil()
      /home/dfc/go/src/reflect/value.go:969 +0xb6
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:126 +0x1588
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:138 +0x2df5
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.DeepEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:240 +0x34e
  github.com/juju/testing/checkers.(*deepEqualsChecker).Check()
      /home/dfc/src/github.com/juju/testing/checkers/bool.go:113 +0xc0
  gopkg.in/check%2ev1.(*C).internalCheck()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:214 +0x1049
  gopkg.in/check%2ev1.(*C).Check()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:161 +0x9c
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:166 +0x237
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionAlreadyMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:368 +0x8b8
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 42:
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).BlockUntilLeadershipReleased()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:26 +0x101
  github.com/juju/juju/worker/leadership.(*tracker).setMinion.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:209 +0x2b3

Goroutine 39 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 42 (running) created at:
  github.com/juju/juju/worker/leadership.(*tracker).setMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:219 +0x327
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:173 +0x4f4
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:124 +0x24a
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97
==================
==================
WARNING: DATA RACE
Read by goroutine 53:
  github.com/juju/testing.(*Stub).CheckCallNames()
      /home/dfc/src/github.com/juju/testing/stub.go:190 +0x43
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:163 +0xb1
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:434 +0xd05
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 51:
  github.com/juju/testing.(*Stub).MethodCall()
      /home/dfc/src/github.com/juju/testing/stub.go:148 +0x235
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).ClaimLeadership()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:21 +0x2dc
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:168 +0x3bc
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:140 +0x955
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97

Goroutine 53 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 51 (running) created at:
  github.com/juju/juju/worker/leadership.NewTrackerWorker()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:83 +0x30e
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:409 +0xea
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83
==================
==================
WARNING: DATA RACE
Read by goroutine 53:
  github.com/juju/testing.stubCallNames()
      /home/dfc/src/github.com/juju/testing/stub.go:196 +0xcd
  github.com/juju/testing.(*Stub).CheckCallNames()
      /home/dfc/src/github.com/juju/testing/stub.go:190 +0x69
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:163 +0xb1
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:434 +0xd05
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 51:
  github.com/juju/testing.(*Stub).MethodCall()
      /home/dfc/src/github.com/juju/testing/stub.go:148 +0x1c1
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).ClaimLeadership()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:21 +0x2dc
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:168 +0x3bc
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:140 +0x955
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97

Goroutine 53 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 51 (running) created at:
  github.com/juju/juju/worker/leadership.NewTrackerWorker()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:83 +0x30e
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:409 +0xea
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83
==================
==================
WARNING: DATA RACE
Read by goroutine 53:
  reflect.Value.IsNil()
      /home/dfc/go/src/reflect/value.go:969 +0xb6
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:126 +0x1588
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:138 +0x2df5
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.DeepEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:240 +0x34e
  github.com/juju/testing/checkers.(*deepEqualsChecker).Check()
      /home/dfc/src/github.com/juju/testing/checkers/bool.go:113 +0xc0
  gopkg.in/check%2ev1.(*C).internalCheck()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:214 +0x1049
  gopkg.in/check%2ev1.(*C).Check()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:161 +0x9c
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:166 +0x237
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:434 +0xd05
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 51:
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).ClaimLeadership()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:21 +0x131
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:168 +0x3bc
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:140 +0x955
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97

Goroutine 53 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 51 (running) created at:
  github.com/juju/juju/worker/leadership.NewTrackerWorker()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:83 +0x30e
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:409 +0xea
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83
==================
==================
WARNING: DATA RACE
Read by goroutine 53:
  reflect.Value.IsNil()
      /home/dfc/go/src/reflect/value.go:969 +0xb6
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:126 +0x1588
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:138 +0x2df5
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.DeepEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:240 +0x34e
  github.com/juju/testing/checkers.(*deepEqualsChecker).Check()
      /home/dfc/src/github.com/juju/testing/checkers/bool.go:113 +0xc0
  gopkg.in/check%2ev1.(*C).internalCheck()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:214 +0x1049
  gopkg.in/check%2ev1.(*C).Check()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:161 +0x9c
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:166 +0x237
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:434 +0xd05
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 51:
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).ClaimLeadership()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:21 +0x1ab
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:168 +0x3bc
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:140 +0x955
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97

Goroutine 53 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 51 (running) created at:
  github.com/juju/juju/worker/leadership.NewTrackerWorker()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:83 +0x30e
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:409 +0xea
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83
==================
==================
WARNING: DATA RACE
Read by goroutine 53:
  reflect.Value.IsNil()
      /home/dfc/go/src/reflect/value.go:969 +0xb6
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:126 +0x1588
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:138 +0x2df5
  github.com/juju/testing/checkers.deepValueEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:120 +0x29ad
  github.com/juju/testing/checkers.DeepEqual()
      /home/dfc/src/github.com/juju/testing/checkers/deepequal.go:240 +0x34e
  github.com/juju/testing/checkers.(*deepEqualsChecker).Check()
      /home/dfc/src/github.com/juju/testing/checkers/bool.go:113 +0xc0
  gopkg.in/check%2ev1.(*C).internalCheck()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:214 +0x1049
  gopkg.in/check%2ev1.(*C).Check()
      /home/dfc/src/gopkg.in/check.v1/helpers.go:161 +0x9c
  github.com/juju/testing.(*Stub).CheckCalls()
      /home/dfc/src/github.com/juju/testing/stub.go:166 +0x237
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:434 +0xd05
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83

Previous write by goroutine 51:
  github.com/juju/juju/worker/leadership_test.(*StubLeadershipManager).ClaimLeadership()
      /home/dfc/src/github.com/juju/juju/worker/leadership/util_test.go:21 +0x226
  github.com/juju/juju/worker/leadership.(*tracker).refresh()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:168 +0x3bc
  github.com/juju/juju/worker/leadership.(*tracker).loop()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:140 +0x955
  github.com/juju/juju/worker/leadership.NewTrackerWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:67 +0x97

Goroutine 53 (running) created at:
  gopkg.in/check%2ev1.(*suiteRunner).forkCall()
      /home/dfc/src/gopkg.in/check.v1/check.go:658 +0x4c2
  gopkg.in/check%2ev1.(*suiteRunner).forkTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:795 +0x13a
  gopkg.in/check%2ev1.(*suiteRunner).runTest()
      /home/dfc/src/gopkg.in/check.v1/check.go:800 +0x3f
  gopkg.in/check%2ev1.(*suiteRunner).run()
      /home/dfc/src/gopkg.in/check.v1/check.go:606 +0x4a2
  gopkg.in/check%2ev1.Run()
      /home/dfc/src/gopkg.in/check.v1/run.go:92 +0x57
  gopkg.in/check%2ev1.RunAll()
      /home/dfc/src/gopkg.in/check.v1/run.go:84 +0x136
  gopkg.in/check%2ev1.TestingT()
      /home/dfc/src/gopkg.in/check.v1/run.go:72 +0x4b0
  github.com/juju/juju/worker/leadership_test.TestPackage()
      /home/dfc/src/github.com/juju/juju/worker/leadership/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 51 (running) created at:
  github.com/juju/juju/worker/leadership.NewTrackerWorker()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker.go:83 +0x30e
  github.com/juju/juju/worker/leadership_test.(*TrackerSuite).TestWaitMinionNeverBecomeMinion()
      /home/dfc/src/github.com/juju/juju/worker/leadership/tracker_test.go:409 +0xea
  runtime.call32()
      /home/dfc/go/src/runtime/asm_amd64.s:421 +0x44
  reflect.Value.Call()
      /home/dfc/go/src/reflect/value.go:300 +0xd0
  gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:763 +0x600
  gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
      /home/dfc/src/gopkg.in/check.v1/check.go:657 +0x83
==================
OK: 21 passed
PASS
Found 8 data race(s)
exit status 66
FAIL github.com/juju/juju/worker/leadership 1.807s

Curtis Hovey (sinzui) on 2015-05-27
Changed in juju-core:
status: New → Triaged
importance: Undecided → Medium
tags: added: intermittent-failure unit-tests
Changed in juju-core:
status: Triaged → In Progress
assignee: nobody → Dave Cheney (dave-cheney)
Changed in juju-core:
status: In Progress → Fix Committed
Curtis Hovey (sinzui) on 2015-06-10
tags: added: tech-debt
Changed in juju-core:
milestone: none → 1.25.0
Curtis Hovey (sinzui) on 2015-08-24
Changed in juju-core:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers