travisjeffery / jocko

Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)

Home Page:https://twitter.com/travisjeffery

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fatal error: runtime: out of memory when listing topics

winks opened this issue · comments

At commit f50f5b4
then patching in brokerCfg.Server.BrokerAddr = brokerCfg.Broker.Addr in init in cmd/jocko/main.go to make it actually listen - no other code changes besides DevMode true

I'm using kafka-pythin with this code:

import kafka
import pprint

consumer = kafka.KafkaConsumer(group_id='test', bootstrap_servers=['localhost:9092'])
t = consumer.topics()
pprint.pprint(t)

and after ~10sec it crashes with the following stacktrace:

fatal error: runtime: out of memory

runtime stack:
runtime.throw(0xc9422b, 0x16)
	/usr/local/go/src/runtime/panic.go:619 +0x81
runtime.sysMap(0xc420600000, 0x1000000000, 0x0, 0x11182d8)
	/usr/local/go/src/runtime/mem_linux.go:216 +0x20a
runtime.(*mheap).sysAlloc(0x10fecc0, 0x1000000000, 0x7f7165bccee0)
	/usr/local/go/src/runtime/malloc.go:470 +0xd4
runtime.(*mheap).grow(0x10fecc0, 0x800000, 0x0)
	/usr/local/go/src/runtime/mheap.go:907 +0x60
runtime.(*mheap).allocSpanLocked(0x10fecc0, 0x800000, 0x11182e8, 0x7f7160b3cde8)
	/usr/local/go/src/runtime/mheap.go:820 +0x301
runtime.(*mheap).alloc_m(0x10fecc0, 0x800000, 0xffffffffffff0100, 0x7f7160b3ce18)
	/usr/local/go/src/runtime/mheap.go:686 +0x118
runtime.(*mheap).alloc.func1()
	/usr/local/go/src/runtime/mheap.go:753 +0x4d
runtime.(*mheap).alloc(0x10fecc0, 0x800000, 0x7f7160010100, 0x4159bc)
	/usr/local/go/src/runtime/mheap.go:752 +0x8a
runtime.largeAlloc(0xffffffff0, 0x450001, 0x7f7165c4c458)
	/usr/local/go/src/runtime/malloc.go:826 +0x94
runtime.mallocgc.func1()
	/usr/local/go/src/runtime/malloc.go:721 +0x46
runtime.systemstack(0x7f7100000000)
	/usr/local/go/src/runtime/asm_amd64.s:409 +0x79
runtime.mstart()
	/usr/local/go/src/runtime/proc.go:1170

goroutine 68 [running]:
runtime.systemstack_switch()
	/usr/local/go/src/runtime/asm_amd64.s:363 fp=0xc4200b7a38 sp=0xc4200b7a30 pc=0x455b10
runtime.mallocgc(0xffffffff0, 0xb403a0, 0x1, 0xb9a940)
	/usr/local/go/src/runtime/malloc.go:720 +0x8a2 fp=0xc4200b7ad8 sp=0xc4200b7a38 pc=0x411f92
runtime.makeslice(0xb403a0, 0xffffffff, 0xffffffff, 0x0, 0xc42007ec00, 0xc420226320)
	/usr/local/go/src/runtime/slice.go:61 +0x77 fp=0xc4200b7b08 sp=0xc4200b7ad8 pc=0x4416f7
github.com/travisjeffery/jocko/protocol.(*ByteDecoder).StringArray(0xc4201a6480, 0x412238, 0x20, 0xb9a940, 0x1, 0xc420178a20)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/protocol/decoder.go:245 +0x9b fp=0xc4200b7b68 sp=0xc4200b7b08 pc=0xa03eeb
github.com/travisjeffery/jocko/protocol.(*MetadataRequest).Decode(0xc420178a20, 0xd34ac0, 0xc4201a6480, 0xb403a0, 0xc420226320)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/protocol/metadata_request.go:13 +0x31 fp=0xc4200b7ba8 sp=0xc4200b7b68 pc=0xa079b1
github.com/travisjeffery/jocko/jocko.(*Server).handleRequest(0xc420244070, 0xd32b20, 0xc420192130)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:213 +0x800 fp=0xc4200b7fc8 sp=0xc4200b7ba8 pc=0xab24c0
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc4200b7fd0 sp=0xc4200b7fc8 pc=0x4586a1
created by github.com/travisjeffery/jocko/jocko.(*Server).Start.func1
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:99 +0x345

goroutine 1 [chan receive]:
github.com/travisjeffery/jocko/vendor/github.com/tj/go-gracefully.Shutdown()
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/tj/go-gracefully/gracefully.go:21 +0x91
main.run(0xc420240000, 0x11167b8, 0x0, 0x0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/cmd/jocko/main.go:117 +0x99a
github.com/travisjeffery/jocko/vendor/github.com/spf13/cobra.(*Command).execute(0xc420240000, 0x11167b8, 0x0, 0x0, 0xc420240000, 0x11167b8)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/spf13/cobra/command.go:702 +0x2c6
github.com/travisjeffery/jocko/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x10ecd40, 0x0, 0xc420240000, 0xc420240480)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/spf13/cobra/command.go:783 +0x2e4
github.com/travisjeffery/jocko/vendor/github.com/spf13/cobra.(*Command).Execute(0x10ecd40, 0xab7b55, 0xc42008c058)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/spf13/cobra/command.go:736 +0x2b
main.main()
	/home/florian/code/go/src/github.com/travisjeffery/jocko/cmd/jocko/main.go:161 +0x2d

goroutine 5 [syscall]:
os/signal.signal_recv(0x0)
	/usr/local/go/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
	/usr/local/go/src/os/signal/signal_unix.go:28 +0x41

goroutine 35 [select]:
github.com/travisjeffery/jocko/vendor/github.com/uber/jaeger-client-go.(*remoteReporter).processQueue(0xc420238460)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/uber/jaeger-client-go/reporter.go:265 +0x13b
created by github.com/travisjeffery/jocko/vendor/github.com/uber/jaeger-client-go.NewRemoteReporter
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/uber/jaeger-client-go/reporter.go:209 +0x16b

goroutine 36 [IO wait]:
internal/poll.runtime_pollWait(0x7f7165c0fe30, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201aaa98, 0x72, 0xc420072000, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4201aaa98, 0xffffffffffffff00, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4201aaa80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4201aaa80, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420218108, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc420218108, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/tcpsock.go:259 +0x49
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*TCPStreamLayer).Accept(0xc4201a57e0, 0x0, 0x0, 0x0, 0x0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/tcp_transport.go:101 +0x2f
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*NetworkTransport).listen(0xc4201aab00)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/net_transport.go:416 +0x49
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.NewNetworkTransportWithConfig
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/net_transport.go:157 +0x172

goroutine 37 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).leaderLoop(0xc42026e2c0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/raft.go:496 +0x415
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).runLeader(0xc42026e2c0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/raft.go:416 +0x385
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).run(0xc42026e2c0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/raft.go:136 +0x67
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).(github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.run)-fm()
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/api.go:505 +0x2a
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*raftState).goFunc.func1(0xc42026e2c0, 0xc4202268e0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/state.go:146 +0x53
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*raftState).goFunc
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/state.go:144 +0x66

goroutine 38 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).runFSM(0xc42026e2c0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/fsm.go:116 +0x1e7
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).(github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.runFSM)-fm()
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/api.go:506 +0x2a
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*raftState).goFunc.func1(0xc42026e2c0, 0xc4202268f0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/state.go:146 +0x53
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*raftState).goFunc
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/state.go:144 +0x66

goroutine 39 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).runSnapshots(0xc42026e2c0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/snapshot.go:71 +0x152
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*Raft).(github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.runSnapshots)-fm()
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/api.go:507 +0x2a
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*raftState).goFunc.func1(0xc42026e2c0, 0xc420226900)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/state.go:146 +0x53
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft.(*raftState).goFunc
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/raft/state.go:144 +0x66

goroutine 40 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.(*serfQueries).stream(0xc4202d09f0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/internal_query.go:80 +0xe0
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.newSerfQueries
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/internal_query.go:73 +0xbc

goroutine 41 [IO wait]:
internal/poll.runtime_pollWait(0x7f7165c0fd60, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201aad18, 0x72, 0xc420182700, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4201aad18, 0xffffffffffffff00, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4201aad00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4201aad00, 0x8, 0xc4202d8ef0, 0x0)
	/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420218148, 0x42a2c9, 0x8, 0xc4201826c0)
	/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc420218148, 0xcb7a58, 0xc420244950, 0x0)
	/usr/local/go/src/net/tcpsock.go:246 +0x49
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*NetTransport).tcpListen(0xc420244930, 0xc420218148)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net_transport.go:225 +0x5f
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.NewNetTransport
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net_transport.go:109 +0x965

goroutine 42 [IO wait]:
internal/poll.runtime_pollWait(0x7f7165c0fc90, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201aad98, 0x72, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4201aad98, 0xc420310000, 0x10000, 0x10000)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).ReadFrom(0xc4201aad80, 0xc420310000, 0x10000, 0x10000, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:207 +0x17d
net.(*netFD).readFrom(0xc4201aad80, 0xc420310000, 0x10000, 0x10000, 0x0, 0x0, 0x0, 0x4119e9, 0xc4202d9668)
	/usr/local/go/src/net/fd_unix.go:208 +0x5b
net.(*UDPConn).readFrom(0xc420218158, 0xc420310000, 0x10000, 0x10000, 0x101, 0xc4202d9640, 0xc4202d96b8, 0x4416f7)
	/usr/local/go/src/net/udpsock_posix.go:47 +0x6a
net.(*UDPConn).ReadFrom(0xc420218158, 0xc420310000, 0x10000, 0x10000, 0x10000, 0x10000, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/udpsock.go:118 +0x6f
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*NetTransport).udpListen(0xc420244930, 0xc420218158)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net_transport.go:247 +0xc5
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.NewNetTransport
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net_transport.go:110 +0x8e0

goroutine 43 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).streamListen(0xc420242690)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net.go:190 +0x137
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.newMemberlist
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/memberlist.go:145 +0x40c

goroutine 44 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).packetListen(0xc420242690)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net.go:270 +0x15f
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.newMemberlist
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/memberlist.go:146 +0x431

goroutine 45 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).packetHandler(0xc420242690)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/net.go:352 +0x109
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.newMemberlist
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/memberlist.go:147 +0x456

goroutine 21 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).triggerFunc(0xc420242690, 0x3b9aca00, 0xc420544000, 0xc4202c7560, 0xc420190d40)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/state.go:128 +0x1a8
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).schedule
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/state.go:94 +0x37c

goroutine 22 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).pushPullTrigger(0xc420242690, 0xc4202c7560)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/state.go:155 +0x1f6
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).schedule
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/state.go:100 +0x2d2

goroutine 49 [runnable]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).triggerFunc(0xc420242690, 0xbebc200, 0xc4201b30e0, 0xc4202c7560, 0xc420226030)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/state.go:128 +0x1a8
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist.(*Memberlist).schedule
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/memberlist/state.go:106 +0x1c8

goroutine 50 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.(*Serf).handleReap(0xc42029e900)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:1405 +0x154
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.Create
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:406 +0x956

goroutine 51 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.(*Serf).handleReconnect(0xc42029e900)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:1423 +0x101
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.Create
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:407 +0x97b

goroutine 52 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.(*Serf).checkQueueDepth(0xc42029e900, 0xc88129, 0x6, 0xc4202d0b10)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:1538 +0x100
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.Create
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:408 +0x9be

goroutine 53 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.(*Serf).checkQueueDepth(0xc42029e900, 0xc873ab, 0x5, 0xc4202d0b40)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:1538 +0x100
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.Create
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:409 +0xa04

goroutine 54 [select]:
github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.(*Serf).checkQueueDepth(0xc42029e900, 0xc8751d, 0x5, 0xc4202d0b70)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:1538 +0x100
created by github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf.Create
	/home/florian/code/go/src/github.com/travisjeffery/jocko/vendor/github.com/hashicorp/serf/serf/serf.go:410 +0xa4a

goroutine 55 [select]:
github.com/travisjeffery/jocko/jocko.(*Broker).lanEventHandler(0xc42023e180)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/serf.go:43 +0xe7
created by github.com/travisjeffery/jocko/jocko.NewBroker
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/broker.go:120 +0x6c0

goroutine 56 [select]:
github.com/travisjeffery/jocko/jocko.(*Broker).monitorLeadership(0xc42023e180)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/leader.go:123 +0x10d
created by github.com/travisjeffery/jocko/jocko.NewBroker
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/broker.go:122 +0x6e2

goroutine 57 [IO wait]:
internal/poll.runtime_pollWait(0x7f7165c0fbc0, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201aa198, 0x72, 0xc420174000, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4201aa198, 0xffffffffffffff00, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4201aa180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4201aa180, 0xc420192130, 0x0, 0x0)
	/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420218018, 0x454dd0, 0xc4200b3dc0, 0xc4200b3dc8)
	/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc420218018, 0x2, 0x0, 0x0, 0xc420192130)
	/usr/local/go/src/net/tcpsock.go:259 +0x49
github.com/travisjeffery/jocko/jocko.(*Server).Start.func1(0xd2ebc0, 0xc420026148, 0xc420244070)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:93 +0x156
created by github.com/travisjeffery/jocko/jocko.(*Server).Start
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:85 +0xfd

goroutine 58 [select]:
github.com/travisjeffery/jocko/jocko.(*Server).Start.func2(0xd2ebc0, 0xc420026148, 0xc420244070)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:106 +0x16c
created by github.com/travisjeffery/jocko/jocko.(*Server).Start
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:104 +0x133

goroutine 59 [select]:
github.com/travisjeffery/jocko/jocko.(*Broker).Run(0xc42023e180, 0xd2ebc0, 0xc420026148, 0xc42016c0c0, 0xc42016c120)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/broker.go:137 +0x1e7
created by github.com/travisjeffery/jocko/jocko.(*Server).Start
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/server.go:122 +0x17f

goroutine 60 [select, locked to thread]:
runtime.gopark(0xcb7978, 0x0, 0xc88c99, 0x6, 0x18, 0x1)
	/usr/local/go/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc420045f50, 0xc4202c61e0)
	/usr/local/go/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
	/usr/local/go/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1

goroutine 67 [select]:
github.com/travisjeffery/jocko/jocko.(*Broker).leaderLoop(0xc42023e180, 0xc4201ca1e0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/leader.go:202 +0x1ee
github.com/travisjeffery/jocko/jocko.(*Broker).monitorLeadership.func1(0xc42017c010, 0xc42023e180, 0xc4201ca1e0)
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/leader.go:135 +0x5b
created by github.com/travisjeffery/jocko/jocko.(*Broker).monitorLeadership
	/home/florian/code/go/src/github.com/travisjeffery/jocko/jocko/leader.go:133 +0x1ef
free -m
              total        used        free      shared  buff/cache   available
Mem:          15786        9186        1595         700        5003        6809
Swap:          7931           0        7931

Thanks for the issue, I'll look into it tomorrow.

may be related to #161