Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Datarace in skywire #1371

Closed
ersonp opened this issue Sep 22, 2022 · 0 comments
Closed

Datarace in skywire #1371

ersonp opened this issue Sep 22, 2022 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@ersonp
Copy link
Contributor

ersonp commented Sep 22, 2022

Describe the bug
Following dataraces were found during e2e-tests

==================
WARNING: DATA RACE
Write at 0x00c0002d3258 by goroutine 80:
  sync/atomic.AddInt64()
      /usr/local/go/src/runtime/race_amd64.s:313 +0xb
  sync/atomic.AddUint64()
      <autogenerated>:1 +0x1b
  github.com/skycoin/skywire/pkg/transport.(*ManagedTransport).WritePacket()
      /skywire/pkg/transport/managed_transport.go:373 +0x15e
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).writePacket()
      /skywire/pkg/router/route_group.go:382 +0x98
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).sendPing()
      /skywire/pkg/router/route_group.go:455 +0x54a
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).pingServiceFn()
      /skywire/pkg/router/route_group.go:481 +0x30
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).pingServiceFn-fm()
      /skywire/pkg/router/route_group.go:480 +0x44
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).servicePacketLoop()
      /skywire/pkg/router/route_group.go:496 +0xde
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).startOffServiceLoops·dwrap·7()
      /skywire/pkg/router/route_group.go:429 +0x71

Previous read at 0x00c0002d3258 by goroutine 143:
  github.com/skycoin/skywire/pkg/transport.(*LogEntry).GobEncode()
      /skywire/pkg/transport/log.go:52 +0x3de
  encoding/gob.(*Encoder).encodeGobEncoder()
      /usr/local/go/src/encoding/gob/encode.go:478 +0x186
  encoding/gob.gobEncodeOpFor.func1()
      /usr/local/go/src/encoding/gob/encode.go:622 +0x234
  encoding/gob.(*Encoder).encodeStruct()
      /usr/local/go/src/encoding/gob/encode.go:328 +0x569
  encoding/gob.encOpFor.func4()
      /usr/local/go/src/encoding/gob/encode.go:581 +0x168
  encoding/gob.(*Encoder).encodeArray()
      /usr/local/go/src/encoding/gob/encode.go:351 +0x39a
  encoding/gob.encOpFor.func1()
      /usr/local/go/src/encoding/gob/encode.go:551 +0x215
  encoding/gob.(*Encoder).encodeStruct()
      /usr/local/go/src/encoding/gob/encode.go:328 +0x569
  encoding/gob.(*Encoder).encode()
      /usr/local/go/src/encoding/gob/encode.go:701 +0x28d
  encoding/gob.(*Encoder).EncodeValue()
      /usr/local/go/src/encoding/gob/encoder.go:251 +0x72f
  encoding/gob.(*Encoder).Encode()
      /usr/local/go/src/encoding/gob/encoder.go:176 +0x152
  net/rpc.(*gobServerCodec).WriteResponse()
      /usr/local/go/src/net/rpc/server.go:414 +0x1c8
  net/rpc.(*Server).sendResponse()
      /usr/local/go/src/net/rpc/server.go:353 +0x1d7
  net/rpc.(*service).call()
      /usr/local/go/src/net/rpc/server.go:384 +0x364
  net/rpc.(*Server).ServeCodec·dwrap·4()
      /usr/local/go/src/net/rpc/server.go:474 +0x16b

Goroutine 80 (running) created at:
  github.com/skycoin/skywire/pkg/router.(*RouteGroup).startOffServiceLoops()
      /skywire/pkg/router/route_group.go:429 +0x384
  github.com/skycoin/skywire/pkg/router.(*router).AcceptRoutes()
      /skywire/pkg/router/router.go:351 +0x68c
  github.com/skycoin/skywire/pkg/app/appnet.(*SkywireNetworker).serveRouteGroup()
      /skywire/pkg/app/appnet/skywire_networker.go:114 +0x11c
  github.com/skycoin/skywire/pkg/app/appnet.(*SkywireNetworker).ListenContext.func1()
      /skywire/pkg/app/appnet/skywire_networker.go:98 +0x50

Goroutine 143 (finished) created at:
  net/rpc.(*Server).ServeCodec()
      /usr/local/go/src/net/rpc/server.go:474 +0x5f7
  net/rpc.(*Server).ServeConn()
      /usr/local/go/src/net/rpc/server.go:449 +0x63d
  net/rpc.(*Server).Accept·dwrap·5()
      /usr/local/go/src/net/rpc/server.go:630 +0x58
==================
2022/09/22 16:09:21 rpc.Serve: accept:accept tcp [::]:3435: use of closed network connection
Found 1 data race(s)
==================
WARNING: DATA RACE
Read at 0x00c0004a04b0 by goroutine 68:
  runtime.mapaccess2_faststr()
      /usr/local/go/src/runtime/map_faststr.go:107 +0x0
  github.com/skycoin/skywire/pkg/transport.(*Manager).Stcpr()
      /skywire/pkg/transport/manager.go:261 +0x1c4
  github.com/skycoin/skywire/pkg/visor.initPublicVisor()
      /skywire/pkg/visor/init.go:869 +0x168
  github.com/skycoin/skywire/pkg/visor.withInitCtx.func1()
      /skywire/pkg/visor/init.go:1150 +0xce
  github.com/skycoin/skywire/pkg/visor/visorinit.(*Module).InitConcurrent()
      /skywire/pkg/visor/visorinit/module.go:137 +0x481
  github.com/skycoin/skywire/pkg/visor/visorinit.(*Module).InitConcurrent·dwrap·4()
      /skywire/pkg/visor/visorinit/module.go:116 +0x58

Previous write at 0x00c0004a04b0 by goroutine 22:
  runtime.mapassign_faststr()
      /usr/local/go/src/runtime/map_faststr.go:202 +0x0
  github.com/skycoin/skywire/pkg/transport.(*Manager).InitClient()
      /skywire/pkg/transport/manager.go:155 +0x199
  github.com/skycoin/skywire/pkg/visor.initSudphClient()
      /skywire/pkg/visor/init.go:375 +0x42d
  github.com/skycoin/skywire/pkg/visor.withInitCtx.func1()
      /skywire/pkg/visor/init.go:1150 +0xce
  github.com/skycoin/skywire/pkg/visor/visorinit.(*Module).InitConcurrent()
      /skywire/pkg/visor/visorinit/module.go:137 +0x481
  github.com/skycoin/skywire/pkg/visor/visorinit.(*Module).InitConcurrent·dwrap·4()
      /skywire/pkg/visor/visorinit/module.go:116 +0x58

Goroutine 68 (running) created at:
  github.com/skycoin/skywire/pkg/visor/visorinit.(*Module).InitConcurrent()
      /skywire/pkg/visor/visorinit/module.go:116 +0x1e4
  github.com/skycoin/skywire/pkg/visor.NewVisor()
      /skywire/pkg/visor/visor.go:155 +0xb53
  github.com/skycoin/skywire/cmd/skywire-visor/commands.runVisor()
      /skywire/cmd/skywire-visor/commands/root.go:327 +0xedc
  github.com/skycoin/skywire/cmd/skywire-visor/commands.runApp()
      /skywire/cmd/skywire-visor/commands/nosystray.go:14 +0x25
  github.com/skycoin/skywire/cmd/skywire-visor/commands.glob..func2()
      /skywire/cmd/skywire-visor/commands/root.go:237 +0x1e
  github.com/spf13/cobra.(*Command).execute()
      /skywire/vendor/github.com/spf13/cobra/command.go:860 +0xaf3
  github.com/spf13/cobra.(*Command).ExecuteC()
      /skywire/vendor/github.com/spf13/cobra/command.go:974 +0x5da
  github.com/spf13/cobra.(*Command).Execute()
      /skywire/vendor/github.com/spf13/cobra/command.go:902 +0x19c
  github.com/skycoin/skywire/cmd/skywire-visor/commands.Execute()
      /skywire/cmd/skywire-visor/commands/root.go:375 +0x185
  main.main()
      /skywire/cmd/skywire-visor/skywire-visor.go:16 +0x35

Goroutine 22 (finished) created at:
  github.com/skycoin/skywire/pkg/visor/visorinit.(*Module).InitConcurrent()
      /skywire/pkg/visor/visorinit/module.go:116 +0x1e4
  github.com/skycoin/skywire/pkg/visor.NewVisor·dwrap·61()
      /skywire/pkg/visor/visor.go:154 +0x58
==================
@ersonp ersonp added the bug Something isn't working label Sep 22, 2022
@ersonp ersonp self-assigned this Sep 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants