goraft/raft

panic: assertion failed: leader.elected.at.same.term.283

dessalines opened this issue · 2 comments

I've been getting this error on a project that depends on goraft. Its been happening when I try to join an existing cluster.

What does it mean?

panic: assertion failed: leader.elected.at.same.term.283


goroutine 10 [running]:
github.com/goraft/raft._assert(0x8a9200, 0x9004d0, 0x1f, 0xc2080b3cb0, 0x1, 0x1)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/util.go:60 +0xcf
github.com/goraft/raft.(*server).processAppendEntriesRequest(0xc208001b00, 0xc2082328c0, 0xc2082328c0, 0xc2082328c0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:948 +0x413
github.com/goraft/raft.(*server).leaderLoop(0xc208001b00)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:849 +0x761
github.com/goraft/raft.(*server).loop(0xc208001b00)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:609 +0x444
github.com/goraft/raft.func·007()
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:470 +0x60
created by github.com/goraft/raft.(*server).Start
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:471 +0x49e

goroutine 1 [chan receive]:
main.main()
    /root/.openmarket/testnet/db/src/github.com/otoolep/rqlite/main.go:108 +0x62e

goroutine 6 [syscall]:
os/signal.loop()
    /root/.gvm/gos/go1.4.2/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
    /root/.gvm/gos/go1.4.2/src/os/signal/signal_unix.go:27 +0x35

goroutine 7 [chan receive]:
database/sql.(*DB).connectionOpener(0xc208044000)
    /root/.gvm/gos/go1.4.2/src/database/sql/sql.go:589 +0x4c
created by database/sql.Open
    /root/.gvm/gos/go1.4.2/src/database/sql/sql.go:452 +0x31c

goroutine 8 [IO wait]:
net.(*pollDesc).Wait(0xc2080c0610, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2080c0610, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).accept(0xc2080c05b0, 0x0, 0x7fc350001a88, 0xc208293c40)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:419 +0x40b
net.(*TCPListener).AcceptTCP(0xc208038040, 0x51054e, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/tcpsock_posix.go:234 +0x4e
net/http.tcpKeepAliveListener.Accept(0xc208038040, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1976 +0x4c
net/http.(*Server).Serve(0xc208033200, 0x7fc350003a68, 0xc208038040, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1728 +0x92
net/http.(*Server).ListenAndServe(0xc208033200, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1718 +0x154
github.com/otoolep/rqlite/server.(*Server).ListenAndServe(0xc208066120, 0x7fff78f59534, 0x13, 0x0, 0x0)
    /root/.openmarket/testnet/db/src/github.com/otoolep/rqlite/server/server.go:321 +0x145b
main.func·002()
    /root/.openmarket/testnet/db/src/github.com/otoolep/rqlite/main.go:99 +0x42
created by main.main
    /root/.openmarket/testnet/db/src/github.com/otoolep/rqlite/main.go:100 +0x533

goroutine 166 [IO wait]:
net.(*pollDesc).Wait(0xc20833b2c0, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20833b2c0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc20833b260, 0xc2081ff000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc208293e40)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038398, 0xc2081ff000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2082edb28, 0xc2081ff000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2082a6b40, 0xc2081ff000, 0x1000, 0x1000, 0xe, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2080e8d20)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2080e8d20, 0xc20823600a, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2080e8d20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2080e30e0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2080e30e0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2080e8d20, 0xc20834a9c0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2082edae0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2082edae0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1751 +0x35e

goroutine 123 [IO wait]:
net.(*pollDesc).Wait(0xc208010f40, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc208010f40, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc208010ee0, 0xc208043800, 0x400, 0x400, 0x0, 0x7fc350001a88, 0xc2081c7de0)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038058, 0xc208043800, 0x400, 0x400, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
crypto/tls.(*block).readFromUntil(0xc2081378f0, 0x7fc350003740, 0xc208038058, 0x5, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/crypto/tls/conn.go:454 +0xe6
crypto/tls.(*Conn).readRecord(0xc2080e0000, 0x17, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/crypto/tls/conn.go:539 +0x2da
crypto/tls.(*Conn).Read(0xc2080e0000, 0xc2080d6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/crypto/tls/conn.go:904 +0x166
net/http.noteEOFReader.Read(0x7fc350009c58, 0xc2080e0000, 0xc2080463c8, 0xc2080d6000, 0x1000, 0x1000, 0x7fc34fff0010, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1270 +0x6e
net/http.(*noteEOFReader).Read(0xc2081bd5c0, 0xc2080d6000, 0x1000, 0x1000, 0xc207ffc7fa, 0x0, 0x0)
    <autogenerated>:125 +0xd4
bufio.(*Reader).fill(0xc208092a20)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).Peek(0xc208092a20, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:132 +0xf0
net/http.(*persistConn).readLoop(0xc208046370)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:660 +0xc9f

goroutine 170 [select]:
github.com/goraft/raft.(*Peer).heartbeat(0xc2080c1260, 0xc20833ea80)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:148 +0x834
github.com/goraft/raft.func·005()
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:97 +0x79
created by github.com/goraft/raft.(*Peer).startHeartbeat
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:98 +0x1ae

goroutine 18 [IO wait]:
net.(*pollDesc).Wait(0xc208010ed0, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc208010ed0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc208010e70, 0xc2080ba000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc20802b570)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038118, 0xc2080ba000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.noteEOFReader.Read(0x7fc350003740, 0xc208038118, 0xc2080465d8, 0xc2080ba000, 0x1000, 0x1000, 0xc2080306c0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1270 +0x6e
net/http.(*noteEOFReader).Read(0xc20801ede0, 0xc2080ba000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)
    <autogenerated>:125 +0xd4
bufio.(*Reader).fill(0xc208033080)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).Peek(0xc208033080, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:132 +0xf0
net/http.(*persistConn).readLoop(0xc208046580)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:660 +0xc9f

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /root/.gvm/gos/go1.4.2/src/runtime/asm_amd64.s:2232 +0x1

goroutine 14 [IO wait]:
net.(*pollDesc).Wait(0xc208010b50, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc208010b50, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc208010af0, 0xc20800f000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc20802b3a8)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2080380d0, 0xc20800f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.noteEOFReader.Read(0x7fc350003740, 0xc2080380d0, 0xc208046318, 0xc20800f000, 0x1000, 0x1000, 0xc208030640, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1270 +0x6e
net/http.(*noteEOFReader).Read(0xc20801eaa0, 0xc20800f000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)
    <autogenerated>:125 +0xd4
bufio.(*Reader).fill(0xc208032c60)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).Peek(0xc208032c60, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:132 +0xf0
net/http.(*persistConn).readLoop(0xc2080462c0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:660 +0xc9f

goroutine 15 [select]:
net/http.(*persistConn).writeLoop(0xc2080462c0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:945 +0x41d
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:661 +0xcbc

goroutine 19 [select]:
net/http.(*persistConn).writeLoop(0xc208046580)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:945 +0x41d
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:661 +0xcbc

goroutine 171 [select]:
github.com/goraft/raft.(*server).send(0xc208001b00, 0x85db00, 0xcad3f0, 0x0, 0x0, 0x0, 0x0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:630 +0x327
github.com/goraft/raft.(*server).Do(0xc208001b00, 0x7fc350009ca8, 0xcad3f0, 0x0, 0x0, 0x0, 0x0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:897 +0x78
github.com/goraft/raft.func·010()
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:828 +0xaf
created by github.com/goraft/raft.(*server).leaderLoop
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:829 +0x2de

goroutine 22 [IO wait]:
net.(*pollDesc).Wait(0xc2080c0060, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2080c0060, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2080c0000, 0xc208090000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc208293b80)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038018, 0xc208090000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc208044408, 0xc208090000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20801e4c0, 0xc208090000, 0x1000, 0x1000, 0xe, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc2080324e0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc2080324e0, 0xc20823600a, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc2080324e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2081d2360, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2081d2360, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2080324e0, 0xc20834a4e0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2080443c0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2080443c0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1751 +0x35e

goroutine 23 [IO wait]:
net.(*pollDesc).Wait(0xc2080c00d0, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2080c00d0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2080c0070, 0xc20809d000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc208293a90)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038028, 0xc20809d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc208044688, 0xc20809d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc20801e560, 0xc20809d000, 0x1000, 0x1000, 0xe, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc208032c00)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc208032c00, 0xc20823600a, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc208032c00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2081d2000, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2081d2000, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc208032c00, 0xc20834a270, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc208044640, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc208044640)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1751 +0x35e

goroutine 162 [select]:
net/http.(*persistConn).writeLoop(0xc208287760)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:945 +0x41d
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:661 +0xcbc

goroutine 43 [IO wait]:
net.(*pollDesc).Wait(0xc2080c1100, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc2080c1100, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc2080c10a0, 0xc20810a000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc208293908)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038158, 0xc20810a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.noteEOFReader.Read(0x7fc350003740, 0xc208038158, 0xc208046aa8, 0xc20810a000, 0x1000, 0x1000, 0x7e92e0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1270 +0x6e
net/http.(*noteEOFReader).Read(0xc2081a3ea0, 0xc20810a000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)
    <autogenerated>:125 +0xd4
bufio.(*Reader).fill(0xc2080e97a0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).Peek(0xc2080e97a0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:132 +0xf0
net/http.(*persistConn).readLoop(0xc208046a50)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:660 +0xc9f

goroutine 45 [select]:
github.com/goraft/raft.(*server).send(0xc208001b00, 0x831920, 0xc2082328c0, 0x0, 0x0, 0x0, 0x0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:630 +0x327
github.com/goraft/raft.(*server).AppendEntries(0xc208001b00, 0xc2082328c0, 0xc2083449c0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/server.go:933 +0x48
github.com/goraft/raft.func·001(0x7fc350003b70, 0xc2082ede00, 0xc208335ee0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/http_transporter.go:246 +0x29e
net/http.HandlerFunc.ServeHTTP(0xc20802ade0, 0x7fc350003b70, 0xc2082ede00, 0xc208335ee0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1265 +0x41
github.com/gorilla/mux.(*Router).ServeHTTP(0xc20803a190, 0x7fc350003b70, 0xc2082ede00, 0xc208335ee0)
    /root/.openmarket/testnet/db/src/github.com/gorilla/mux/mux.go:98 +0x297
net/http.serverHandler.ServeHTTP(0xc208033200, 0x7fc350003b70, 0xc2082ede00, 0xc208335ee0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1703 +0x19a
net/http.(*conn).serve(0xc208045e00)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1204 +0xb57
created by net/http.(*Server).Serve
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1751 +0x35e

goroutine 169 [select]:
net/http.(*persistConn).roundTrip(0xc208287760, 0xc208242540, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1082 +0x7ad
net/http.(*Transport).RoundTrip(0xc2080662d0, 0xc20834b040, 0xc2080e39e0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:235 +0x558
net/http.send(0xc20834b040, 0x7fc350001e40, 0xc2080662d0, 0x2a, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:219 +0x4fc
net/http.(*Client).send(0xc208066298, 0xc20834b040, 0x2a, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:142 +0x15b
net/http.(*Client).doFollowingRedirects(0xc208066298, 0xc20834b040, 0x95d0a8, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:367 +0xb25
net/http.(*Client).Post(0xc208066298, 0xc2080e3950, 0x2a, 0x8d8dd0, 0x14, 0x7fc3500025d0, 0xc20833b880, 0xc2080ea901, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:441 +0x10d
github.com/goraft/raft.(*HTTPTransporter).SendAppendEntriesRequest(0xc208066240, 0x7fc3500022f0, 0xc208001b00, 0xc2080c0f50, 0xc2082327d0, 0x0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/http_transporter.go:125 +0x4ec
github.com/goraft/raft.(*Peer).sendAppendEntriesRequest(0xc2080c0f50, 0xc2082327d0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:193 +0x303
github.com/goraft/raft.(*Peer).flush(0xc2080c0f50)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:178 +0x29e
github.com/goraft/raft.(*Peer).heartbeat(0xc2080c0f50, 0xc20833e960)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:163 +0x5de
github.com/goraft/raft.func·005()
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:97 +0x79
created by github.com/goraft/raft.(*Peer).startHeartbeat
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:98 +0x1ae

goroutine 44 [select]:
net/http.(*persistConn).writeLoop(0xc208046a50)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:945 +0x41d
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:661 +0xcbc

goroutine 167 [IO wait]:
net.(*pollDesc).Wait(0xc20833b330, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20833b330, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc20833b2d0, 0xc2080c8000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc208293eb0)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc2080383a0, 0xc2080c8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.(*liveSwitchReader).Read(0xc2082edbc8, 0xc2080c8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:214 +0xab
io.(*LimitedReader).Read(0xc2082a6ba0, 0xc2080c8000, 0x1000, 0x1000, 0xe, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/io/io.go:408 +0xce
bufio.(*Reader).fill(0xc208093620)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).ReadSlice(0xc208093620, 0xc20834450a, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:295 +0x257
bufio.(*Reader).ReadLine(0xc208093620, 0x0, 0x0, 0x0, 0xc207ff1c00, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:324 +0x62
net/textproto.(*Reader).readLineSlice(0xc2080e3560, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:55 +0x9e
net/textproto.(*Reader).ReadLine(0xc2080e3560, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc208093620, 0xc20834ab60, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/request.go:598 +0xcb
net/http.(*conn).readRequest(0xc2082edb80, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:586 +0x26f
net/http.(*conn).serve(0xc2082edb80)
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
    /root/.gvm/gos/go1.4.2/src/net/http/server.go:1751 +0x35e

goroutine 168 [select]:
net/http.(*persistConn).roundTrip(0xc208046a50, 0xc208242360, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1082 +0x7ad
net/http.(*Transport).RoundTrip(0xc2080662d0, 0xc20834aea0, 0xc2080e3890, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:235 +0x558
net/http.send(0xc20834aea0, 0x7fc350001e40, 0xc2080662d0, 0x2c, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:219 +0x4fc
net/http.(*Client).send(0xc208066298, 0xc20834aea0, 0x2c, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:142 +0x15b
net/http.(*Client).doFollowingRedirects(0xc208066298, 0xc20834aea0, 0x95d0a8, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:367 +0xb25
net/http.(*Client).Post(0xc208066298, 0xc2080e37d0, 0x2c, 0x8d8dd0, 0x14, 0x7fc3500025d0, 0xc20833b650, 0xc2080ea901, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/client.go:441 +0x10d
github.com/goraft/raft.(*HTTPTransporter).SendAppendEntriesRequest(0xc208066240, 0x7fc3500022f0, 0xc208001b00, 0xc2080c0d90, 0xc208232780, 0x0)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/http_transporter.go:125 +0x4ec
github.com/goraft/raft.(*Peer).sendAppendEntriesRequest(0xc2080c0d90, 0xc208232780)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:193 +0x303
github.com/goraft/raft.(*Peer).flush(0xc2080c0d90)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:178 +0x29e
github.com/goraft/raft.(*Peer).heartbeat(0xc2080c0d90, 0xc20833e840)
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:163 +0x5de
github.com/goraft/raft.func·005()
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:97 +0x79
created by github.com/goraft/raft.(*Peer).startHeartbeat
    /root/.openmarket/testnet/db/src/github.com/goraft/raft/peer.go:98 +0x1ae

goroutine 124 [select]:
net/http.(*persistConn).writeLoop(0xc208046370)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:945 +0x41d
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:661 +0xcbc

goroutine 161 [IO wait]:
net.(*pollDesc).Wait(0xc20833a450, 0x72, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc20833a450, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc20833a3f0, 0xc20833d000, 0x1000, 0x1000, 0x0, 0x7fc350001a88, 0xc208293ee8)
    /root/.gvm/gos/go1.4.2/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc208038348, 0xc20833d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/net.go:121 +0xdc
net/http.noteEOFReader.Read(0x7fc350003740, 0xc208038348, 0xc2082877b8, 0xc20833d000, 0x1000, 0x1000, 0x7e92e0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:1270 +0x6e
net/http.(*noteEOFReader).Read(0xc2082a6400, 0xc20833d000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)
    <autogenerated>:125 +0xd4
bufio.(*Reader).fill(0xc20833e2a0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).Peek(0xc20833e2a0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /root/.gvm/gos/go1.4.2/src/bufio/bufio.go:132 +0xf0
net/http.(*persistConn).readLoop(0xc208287760)
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
    /root/.gvm/gos/go1.4.2/src/net/http/transport.go:660 +0xc9f

FYI, go-raft is no longer maintained. #244

If you need a raft implementation I would suggest the etcd/raft library: https://godoc.org/github.com/coreos/etcd/raft

There are other libraries too, I just don't have the links handy.