qingstor / qsctl

Advanced command line tool for QingStor Object Storage.
Apache License 2.0
23 stars 13 forks source link

Data race in shell list #323

Closed Xuanwo closed 4 years ago

Xuanwo commented 4 years ago
WARNING: DATA RACE
Write at 0x00c000356280 by main goroutine:
  github.com/pengsrc/go-shared/log.(*Logger).SetLevel()
      github.com/pengsrc/go-shared@v0.2.1-0.20190131101655-1999055a4a14/log/logger.go:46 +0x19e
  github.com/qingstor/qingstor-sdk-go/v4/logger.SetLevel()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/logger/logger.go:57 +0x76
  github.com/qingstor/qingstor-sdk-go/v4/config.(*Config).LoadDefaultConfig()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/config/config.go:174 +0x275
  github.com/qingstor/qingstor-sdk-go/v4/config.NewDefault()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/config/config.go:112 +0x96
  github.com/qingstor/qingstor-sdk-go/v4/config.New()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/config/config.go:98 +0xae
  github.com/Xuanwo/storage/services/qingstor.newServicer()
      github.com/Xuanwo/storage@v1.2.1/services/qingstor/utils.go:99 +0x52f
  github.com/Xuanwo/storage/services/qingstor.NewServicer()
      github.com/Xuanwo/storage@v1.2.1/services/qingstor/utils.go:69 +0x34
  github.com/qingstor/qsctl/v2/utils.NewQingStorService()
      github.com/qingstor/qsctl/v2/utils/task.go:272 +0x2b
  github.com/qingstor/qsctl/v2/utils.ParseServiceInput()
      github.com/qingstor/qsctl/v2/utils/task.go:136 +0x19f
  github.com/qingstor/qsctl/v2/utils.ParseAtServiceInput()
      github.com/qingstor/qsctl/v2/utils/task.go:150 +0x47
  main.lsRun()
      github.com/qingstor/qsctl/v2/cmd/qsctl/ls.go:60 +0xa1
  main.glob..func5()
      github.com/qingstor/qsctl/v2/cmd/qsctl/ls.go:46 +0x77
  github.com/spf13/cobra.(*Command).execute()
      github.com/spf13/cobra@v0.0.7/command.go:842 +0x8e0
  github.com/spf13/cobra.(*Command).ExecuteC()
      github.com/spf13/cobra@v0.0.7/command.go:943 +0x479
  github.com/spf13/cobra.(*Command).Execute()
      github.com/spf13/cobra@v0.0.7/command.go:883 +0x673
  github.com/spf13/cobra.(*Command).ExecuteContext()
      github.com/spf13/cobra@v0.0.7/command.go:876 +0x66a
  main.executor()
      github.com/qingstor/qsctl/v2/cmd/qsctl/shell.go:67 +0x5e4
  github.com/c-bata/go-prompt.(*Prompt).Run()
      github.com/c-bata/go-prompt@v0.2.3/prompt.go:85 +0x782
  main.shellRun()
      github.com/qingstor/qsctl/v2/cmd/qsctl/shell.go:122 +0x212
  github.com/spf13/cobra.(*Command).execute()
      github.com/spf13/cobra@v0.0.7/command.go:842 +0x8e0
  github.com/spf13/cobra.(*Command).ExecuteC()
      github.com/spf13/cobra@v0.0.7/command.go:943 +0x479
  github.com/spf13/cobra.(*Command).Execute()
      github.com/spf13/cobra@v0.0.7/command.go:883 +0xfd
  main.main()
      github.com/qingstor/qsctl/v2/cmd/qsctl/main.go:14 +0xde

Previous read at 0x00c000356280 by goroutine 12:
  github.com/pengsrc/go-shared/log.(*Logger).event()
      github.com/pengsrc/go-shared@v0.2.1-0.20190131101655-1999055a4a14/log/logger.go:178 +0xf6
  github.com/pengsrc/go-shared/log.(*Logger).Infof()
      github.com/pengsrc/go-shared@v0.2.1-0.20190131101655-1999055a4a14/log/logger.go:129 +0x55
  github.com/qingstor/qingstor-sdk-go/v4/logger.Infof()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/logger/logger.go:76 +0x4de
  github.com/qingstor/qingstor-sdk-go/v4/request/response.(*unpacker).parseResponseElements()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/request/response/unpacker.go:230 +0x3f2
  github.com/qingstor/qingstor-sdk-go/v4/request/response.(*unpacker).unpackResponse()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/request/response/unpacker.go:67 +0x9f
  github.com/qingstor/qingstor-sdk-go/v4/request/response.UnpackToOutput()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/request/response/unpacker.go:51 +0xb4
  github.com/qingstor/qingstor-sdk-go/v4/request.(*Request).unpack()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/request/request.go:233 +0x2f
  github.com/qingstor/qingstor-sdk-go/v4/request.(*Request).Do()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/request/request.go:110 +0x59
  github.com/qingstor/qingstor-sdk-go/v4/request.(*Request).Send()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/request/request.go:78 +0x83
  github.com/qingstor/qingstor-sdk-go/v4/service.(*Service).ListBuckets()
      github.com/qingstor/qingstor-sdk-go/v4@v4.0.0/service/qingstor.go:49 +0x8d
  github.com/Xuanwo/storage/services/qingstor.(*Service).list()
      github.com/Xuanwo/storage@v1.2.1/services/qingstor/service.go:60 +0x5fa
  github.com/Xuanwo/storage/services/qingstor.(*Service).ListWithContext()
      github.com/Xuanwo/storage@v1.2.1/services/qingstor/generated.go:419 +0x12b
  github.com/Xuanwo/storage/services/qingstor.(*Service).List()
      github.com/Xuanwo/storage@v1.2.1/services/qingstor/generated.go:404 +0x83
  github.com/qingstor/noah/task.(*ListStorageTask).run()
      github.com/qingstor/noah@v0.0.0-20200730024920-441c96f1a9cc/task/list.go:54 +0x2cf
  github.com/qingstor/noah/task.(*ListStorageTask).Run()
      github.com/qingstor/noah@v0.0.0-20200730024920-441c96f1a9cc/task/generated.go:2035 +0xdb
  github.com/qingstor/qsctl/v2/cmd/qsctl/shellutils.InitBucketList()
      github.com/qingstor/qsctl/v2/cmd/qsctl/shellutils/bucket.go:35 +0x17b

Goroutine 12 (finished) created at:
  main.shellRun()
      github.com/qingstor/qsctl/v2/cmd/qsctl/shell.go:114 +0x128
  github.com/spf13/cobra.(*Command).execute()
      github.com/spf13/cobra@v0.0.7/command.go:842 +0x8e0
  github.com/spf13/cobra.(*Command).ExecuteC()
      github.com/spf13/cobra@v0.0.7/command.go:943 +0x479
  github.com/spf13/cobra.(*Command).Execute()
      github.com/spf13/cobra@v0.0.7/command.go:883 +0xfd
  main.main()
      github.com/qingstor/qsctl/v2/cmd/qsctl/main.go:14 +0xde