natefinch / lumberjack

lumberjack is a log rolling package for Go
MIT License
4.76k stars 585 forks source link

go test -race failed #119

Open sergerdn opened 3 years ago

sergerdn commented 3 years ago

Hi, there. I do not know is it really serious errors or not. I just reporting.

go version go1.15.3 linux/amd64
go test -race
WARNING: DATA RACE
Write at 0x000000853608 by goroutine 14:
  github.com/natefinch/lumberjack.TestCompressMaintainOwner()
      /home/blaa/projects/lumberjack/linux_test.go:134 +0x11c
  testing.tRunner()
      /home/blaa/go/src/testing/testing.go:1123 +0x202

Previous read at 0x000000853608 by goroutine 12:
  github.com/natefinch/lumberjack.chown()
      /home/blaa/projects/lumberjack/chown_linux.go:18 +0x104
  github.com/natefinch/lumberjack.compressLogFile()
      /home/blaa/projects/lumberjack/lumberjack.go:480 +0x36f
  github.com/natefinch/lumberjack.(*Logger).millRunOnce()
      /home/blaa/projects/lumberjack/lumberjack.go:367 +0x6ec
  github.com/natefinch/lumberjack.(*Logger).millRun()
      /home/blaa/projects/lumberjack/lumberjack.go:381 +0x67
.....
mukunda- commented 1 year ago

I'm seeing inconsistent rotation behavior that may be related to a race condition.

Try spamming the log output and it doesn't rotate for me. Running on Windows.

for { for i := 0; i < 5000; i++ { log.Infoln("Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! ") time.Sleep(time.Microsecond) } time.Sleep(time.Second)

}