worker/peergrouper: data race in package
Bug #1467715 reported by
Dave Cheney
on 2015-06-23
This bug affects 1 person
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | juju-core |
Critical
|
Menno Finlay-Smits | ||
Curtis Hovey (sinzui)
on 2015-06-23
| Changed in juju-core: | |
| status: | New → Triaged |
| importance: | Undecided → Medium |
| tags: | added: intermittent-failure race-condition |
Curtis Hovey (sinzui)
on 2016-04-19
| description: | updated |
| Curtis Hovey (sinzui) wrote : | #1 |
Download full text (4.4 KiB)
| Changed in juju-core: | |
| importance: | Medium → Critical |
Menno Finlay-Smits (menno.smits)
on 2016-04-20
| Changed in juju-core: | |
| assignee: | nobody → Menno Smits (menno.smits) |
| Curtis Hovey (sinzui) wrote : | #2 |
The race tests are run in lxc, which seems to expose raciness.
Curtis Hovey (sinzui)
on 2016-04-20
| tags: | added: regression |
| tags: | added: ci |
Menno Finlay-Smits (menno.smits)
on 2016-04-20
| Changed in juju-core: | |
| status: | Triaged → In Progress |
| Menno Finlay-Smits (menno.smits) wrote : | #3 |
Fix is here: https:/
Menno Finlay-Smits (menno.smits)
on 2016-04-20
| Changed in juju-core: | |
| status: | In Progress → Fix Committed |
| Menno Finlay-Smits (menno.smits) wrote : | #4 |
The runs of HA related CI jobs have been clean with respect to the peergrouper issues since the fix was merged. I'll leave the bug open for a while longer until I have more confidence that the issue has been resolved but I'm cautiously optimistic.
| Menno Finlay-Smits (menno.smits) wrote : | #5 |
The HA related CI runs of master have been clean so far, but the add-models feature branch just had a voting enable failure and that branch has the most recent peergrouper improvments.
http://
I will keep looking at this.
| Changed in juju-core: | |
| status: | Fix Committed → In Progress |
| Menno Finlay-Smits (menno.smits) wrote : | #6 |
Gah! The last 2 comments should have been on bug 1453805.
This one is actually fixed.
| Changed in juju-core: | |
| status: | In Progress → Fix Released |
To post a comment you must log in.


This iss is not critical because it is consistently contributing to curses of master. The current race looks like
================== storeIword( ) usr/lib/ go/src/ pkg/reflect/ value.go: 208 +0x395 Value.Set( ) usr/lib/ go/src/ pkg/reflect/ value.go: 1389 +0x13c com/juju/ testing. PatchValue( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ testing/ patch.go: 46 +0x2f4 com/juju/ testing. (*CleanupSuite) .PatchValue( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ testing/ cleanup. go:123 +0x69 com/juju/ juju/worker/ peergrouper. func·025( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ peergrouper/ worker_ test.go: 370 +0x3df com/juju/ juju/worker/ peergrouper. DoTestForIPv4An dIPv6() home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ peergrouper/ worker_ test.go: 59 +0x6f com/juju/ juju/worker/ peergrouper. (*workerSuite) .TestSetMembers ErrorIsNotFatal () home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ peergrouper/ worker_ test.go: 384 +0xc4 usr/lib/ go/src/ pkg/runtime/ asm_amd64. s:338 +0x31 Value.Call( ) usr/lib/ go/src/ pkg/reflect/ value.go: 345 +0xaa in/check% 2ev1.func· 003() home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/check. go:772 +0x504 in/check% 2ev1.func· 001() home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/check. go:666 +0xf3
WARNING: DATA RACE
Write by goroutine 139:
reflect.
/
reflect.
/
github.
/
github.
/
github.
/
github.
/
github.
/
runtime.call16()
/
reflect.
/
gopkg.
/
gopkg.
/
Previous read by goroutine 10: com/juju/ juju/worker/ peergrouper. (*pgWorker) .loop() home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ peergrouper/ worker. go:205 +0x76e com/juju/ juju/worker/ peergrouper. *pgWorker. (github. com/juju/ juju/worker/ peergrouper. loop)·fm( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ peergrouper/ worker. go:135 +0x45 com/juju/ juju/worker/ catacomb. func·003( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ catacomb/ catacomb. go:115 +0xcd
github.
/
github.
/
github.
/
Goroutine 139 (running) created at: in/check% 2ev1.(* suiteRunner) .forkCall( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/check. go:667 +0x529 in/check% 2ev1.(* suiteRunner) .forkTest( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/check. go:804 +0x168 in/check% 2ev1.(* suiteRunner) .runTest( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/check. go:809 +0x3e in/check% 2ev1.(* suiteRunner) .run() home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/check. go:615 +0x44a in/check% 2ev1.Run( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/run. go:92 +0x56 in/check% 2ev1.RunAll( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/run. go:84 +0x111 in/check% 2ev1.TestingT( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/gopkg. in/check. v1/run. go:72 +0x4d6 com/juju/ juju/worker/ peergrouper. TestPackage( ) home/ubuntu/ juju-core_ 2.0-beta5/ src/github. com/juju/ juju/worker/ peergrouper/ suite_test. go:13 +0x34 usr/lib/ go/src/ pkg/testing/ testing. go:391 +0x10f
gopkg.
/
gopkg.
/
gopkg.
/
gopkg.
/
gopkg.
/
gopkg.
/
gopkg.
/
github.
/
testing.tRunner()
/
Goroutine 10 (running) cre...