emitter icon indicating copy to clipboard operation
emitter copied to clipboard

occasionally panic

Open shushenghong opened this issue 4 years ago • 3 comments

panic: interface conversion: crdt.Map is *crdt.Durable, not *crdt.Volatile

goroutine 70 [running]:
github.com/emitter-io/emitter/internal/event/crdt.(*Durable).Merge(0xc000094b20, 0x4f4a180, 0xc000094b20)
	/Users/shushenghong/Documents/workspace/demo/emitter/internal/event/crdt/durable.go:145 +0x185
github.com/emitter-io/emitter/internal/event.(*State).Merge(0xc000094150, 0x4f35ee0, 0xc000094150, 0x0, 0x0)
	/Users/shushenghong/Documents/workspace/demo/emitter/internal/event/state.go:105 +0x196
github.com/weaveworks/mesh.(*gossipSender).Send(0xc0001b4550, 0x4f35ee0, 0xc000094150)
	/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/gossip.go:186 +0x15d
github.com/weaveworks/mesh.(*gossipChannel).relay(0xc0003a2300, 0x1, 0x4f35ee0, 0xc000094150)
	/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/gossip_channel.go:123 +0x1c5
github.com/weaveworks/mesh.(*gossipChannel).Send(0xc0003a2300, 0x4f35ee0, 0xc000094150)
	/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/gossip_channel.go:94 +0x5f
github.com/weaveworks/mesh.(*Router).sendAllGossip(0xc0003f82a0)
	/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/router.go:209 +0xff
github.com/weaveworks/mesh.(*localPeer).actorLoop(0xc0001b4140, 0xc00008e240)
	/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/local_peer.go:160 +0x205
created by github.com/weaveworks/mesh.newLocalPeer
	/Users/shushenghong/Documents/tools/go/pkg/mod/github.com/weaveworks/[email protected]/local_peer.go:42 +0x245

shushenghong avatar Dec 11 '20 12:12 shushenghong

often happen when the seed cluster server startup later than the slave server

shushenghong avatar Dec 11 '20 12:12 shushenghong

Can you share more info on how to reproduce this?

kelindar avatar Dec 12 '20 04:12 kelindar

on my local dev machine, build emitter then startup slave broker 1, do something like connect / sub / pub to broker1, then start and debug the seed broker 2 on vscode, broker2 occasionally panic.

shushenghong avatar Dec 12 '20 06:12 shushenghong