Skip to content

race test failed #74

@hilyjiang

Description

@hilyjiang
package main

import (
        "os"
        "time"

        "github.com/op/go-logging"
)

func main() {
        go func() {
                test("test1")
        }()

        test("test2")

        time.Sleep(time.Second)
}

func test(name string) {
        backend := logging.NewLogBackend(os.Stdout, "", 0)
        leveledBackend := logging.AddModuleLevel(backend)
        leveledBackend.SetLevel(logging.DEBUG, name)
        logging.SetBackend(leveledBackend)

        logger := logging.MustGetLogger(name)
        logger.Debug("debug")
}

run go run -race main.go, DATA RACE detected:

# go run -race main.go 
debug
==================
WARNING: DATA RACE
Write by goroutine 6:
  github.com/op/go-logging.SetBackend()
      /root/godev/src/github.com/op/go-logging/backend.go:26 +0x24c
  main.test()
      /root/godev/src/logging/main.go:24 +0x522
  main.main.func1()
      /root/godev/src/logging/main.go:12 +0x39

Previous write by main goroutine:
  github.com/op/go-logging.SetBackend()
      /root/godev/src/github.com/op/go-logging/backend.go:26 +0x24c
  main.test()
      /root/godev/src/logging/main.go:24 +0x522
  main.main()
      /root/godev/src/logging/main.go:15 +0x51

Goroutine 6 (running) created at:
  main.main()
      /root/godev/src/logging/main.go:13 +0x38
==================
debug
Found 1 data race(s)
exit status 66

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions