Data race in message.go
lthibault opened this issue · comments
Louis Thibault commented
WARNING: DATA RACE
Write at 0x00c0014886c8 by goroutine 130:
capnproto.org/go/capnp/v3.alloc()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/message.go:356 +0x1d2
capnproto.org/go/capnp/v3.NewCompositeList()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/list.go:62 +0xe4
capnproto.org/go/capnp/v3/std/capnp/rpc.NewCapDescriptor_List()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/std/capnp/rpc/rpc.capnp.go:2406 +0xce
capnproto.org/go/capnp/v3/std/capnp/rpc.Payload.NewCapTable()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/std/capnp/rpc/rpc.capnp.go:2179 +0x84
capnproto.org/go/capnp/v3/rpc.(*Conn).fillPayloadCapTable()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/export.go:183 +0x1fa
capnproto.org/go/capnp/v3/rpc.(*answer).sendReturn()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/answer.go:228 +0x174
capnproto.org/go/capnp/v3/rpc.(*answer).Return()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/answer.go:197 +0x11d
capnproto.org/go/capnp/v3/server.(*Server).handleCall()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/server.go:214 +0x281
capnproto.org/go/capnp/v3/server.(*Server).handleCalls.func2()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/server.go:182 +0x84
capnproto.org/go/capnp/v3/server.(*Server).handleCalls()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/server.go:183 +0x1c4
capnproto.org/go/capnp/v3/server.New.func1()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/server.go:122 +0x58
Previous read at 0x00c0014886c8 by goroutine 157:
capnproto.org/go/capnp/v3.(*Segment).slice()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/segment.go:49 +0x5d
capnproto.org/go/capnp/v3.(*Segment).readUint64()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/segment.go:65 +0x51
capnproto.org/go/capnp/v3.(*Segment).readRawPointer()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/segment.go:69 +0x50
capnproto.org/go/capnp/v3.(*Segment).resolveFarPointer()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/segment.go:235 +0x4f
capnproto.org/go/capnp/v3.(*Segment).readPtr()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/segment.go:116 +0x75
capnproto.org/go/capnp/v3.Struct.Ptr()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/struct.go:109 +0x119
capnproto.org/go/capnp/v3.Transform()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/answer.go:580 +0x2ed
capnproto.org/go/capnp/v3.resolution.ptr()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/answer.go:606 +0xfc
capnproto.org/go/capnp/v3.resolution.client()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/answer.go:615 +0x96
capnproto.org/go/capnp/v3.(*Answer).PipelineRecv()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/answer.go:393 +0x413
capnproto.org/go/capnp/v3.(*Answer).PipelineRecv-fm()
<autogenerated>:1 +0xc7
capnproto.org/go/capnp/v3/server.queueCaller.PipelineRecv()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/answer.go:161 +0x2e2
capnproto.org/go/capnp/v3/server.(*answerQueue).PipelineRecv()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/answer.go:136 +0xc9
capnproto.org/go/capnp/v3/rpc.(*Conn).handleCall()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/rpc.go:837 +0x1f32
capnproto.org/go/capnp/v3/rpc.(*Conn).receive()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/rpc.go:543 +0x644
capnproto.org/go/capnp/v3/rpc.(*Conn).receive-fm()
<autogenerated>:1 +0x39
capnproto.org/go/capnp/v3/rpc.(*Conn).backgroundTask.func1()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/rpc.go:206 +0x92
golang.org/x/sync/errgroup.(*Group).Go.func1()
/Users/lthibault/Go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x86
Goroutine 130 (running) created at:
capnproto.org/go/capnp/v3/server.New()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/server/server.go:122 +0x544
github.com/wetware/ww/internal/api/pubsub.Router_NewServer()
/Users/lthibault/Go/src/github.com/wetware/ww/internal/api/pubsub/pubsub.capnp.go:740 +0xc9
github.com/wetware/ww/internal/api/pubsub.Router_ServerToClient()
/Users/lthibault/Go/src/github.com/wetware/ww/internal/api/pubsub/pubsub.capnp.go:746 +0x36
github.com/wetware/ww/pkg/pubsub.NewJoiner()
/Users/lthibault/Go/src/github.com/wetware/ww/pkg/pubsub/pubsub.go:42 +0x197
github.com/wetware/ww/pkg/pubsub.(*Server).PubSub()
/Users/lthibault/Go/src/github.com/wetware/ww/pkg/pubsub/router.go:52 +0x177
github.com/wetware/ww/pkg/pubsub_test.TestMessageCopy()
/Users/lthibault/Go/src/github.com/wetware/ww/pkg/pubsub/pubsub_test.go:126 +0xd1
testing.tRunner()
/usr/local/go/src/testing/testing.go:1446 +0x216
testing.(*T).Run.func1()
/usr/local/go/src/testing/testing.go:1493 +0x47
Goroutine 157 (running) created at:
golang.org/x/sync/errgroup.(*Group).Go()
/Users/lthibault/Go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x12e
capnproto.org/go/capnp/v3/rpc.NewConn()
/Users/lthibault/Go/pkg/mod/capnproto.org/go/capnp/v3@v3.0.0-alpha.16/rpc/rpc.go:172 +0x744
github.com/wetware/ww/pkg/pubsub_test.TestMessageCopy()
/Users/lthibault/Go/src/github.com/wetware/ww/pkg/pubsub/pubsub_test.go:130 +0x32c
testing.tRunner()
/usr/local/go/src/testing/testing.go:1446 +0x216
testing.(*T).Run.func1()
/usr/local/go/src/testing/testing.go:1493 +0x47
==================