worker/logger: data race in tests

Bug #1459085 reported by Dave Cheney
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
High
Dave Cheney

Bug Description

==================
WARNING: DATA RACE
Read by goroutine 23:
  github.com/juju/loggo.LoggerInfo()
      /home/dfc/src/github.com/juju/loggo/logger.go:130 +0x41d
  github.com/juju/juju/worker/logger_test.(*LoggerSuite).waitLoggingInfo()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger_test.go:54 +0x14b
  github.com/juju/juju/worker/logger_test.(*LoggerSuite).TestInitialState()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger_test.go:103 +0x64d
  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 81:
  sync/atomic.StoreInt32()
      /home/dfc/go/src/runtime/race_amd64.s:215 +0xb
  github.com/juju/loggo.(*Level).set()
      /home/dfc/src/github.com/juju/loggo/logger.go:85 +0x3d
  github.com/juju/loggo.Logger.SetLogLevel()
      /home/dfc/src/github.com/juju/loggo/logger.go:301 +0x97
  github.com/juju/loggo.ConfigureLoggers()
      /home/dfc/src/github.com/juju/loggo/logger.go:201 +0x172
  github.com/juju/juju/worker/logger.(*Logger).setLogging()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger.go:47 +0x4ea
  github.com/juju/juju/worker/logger.(*Logger).SetUp()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger.go:63 +0xab
  github.com/juju/juju/worker.(*notifyWorker).loop()
      /home/dfc/src/github.com/juju/juju/worker/notifyworker.go:80 +0x8b
  github.com/juju/juju/worker.NewNotifyWorker.func1()
      /home/dfc/src/github.com/juju/juju/worker/notifyworker.go:52 +0x68

Goroutine 23 (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/testing.MgoTestPackage()
      /home/dfc/src/github.com/juju/testing/mgo.go:353 +0x183
  github.com/juju/juju/testing.MgoTestPackage()
      /home/dfc/src/github.com/juju/juju/testing/mgo.go:15 +0x51
  github.com/juju/juju/worker/logger_test.TestAll()
      /home/dfc/src/github.com/juju/juju/worker/logger/package_test.go:13 +0x35
  testing.tRunner()
      /home/dfc/go/src/testing/testing.go:454 +0xfb

Goroutine 81 (running) created at:
  github.com/juju/juju/worker.NewNotifyWorker()
      /home/dfc/src/github.com/juju/juju/worker/notifyworker.go:53 +0xea
  github.com/juju/juju/worker/logger.NewLogger()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger.go:36 +0x2a0
  github.com/juju/juju/worker/logger_test.(*LoggerSuite).makeLogger()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger_test.go:80 +0x1c1
  github.com/juju/juju/worker/logger_test.(*LoggerSuite).TestInitialState()
      /home/dfc/src/github.com/juju/juju/worker/logger/logger_test.go:100 +0x5d4
  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: 2 passed
PASS
Found 1 data race(s)
exit status 66
FAIL github.com/juju/juju/worker/logger 3.000s

Revision history for this message
Dave Cheney (dave-cheney) wrote :

urk - this looks like a loggo race.

Changed in juju-core:
status: New → In Progress
assignee: nobody → Dave Cheney (dave-cheney)
Changed in juju-core:
status: In Progress → Fix Committed
Curtis Hovey (sinzui)
Changed in juju-core:
status: Fix Committed → Fix Released
importance: Undecided → High
milestone: none → 1.25.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.