GithubHelp home page GithubHelp logo

nknorg / nkn Goto Github PK

View Code? Open in Web Editor NEW
471.0 43.0 157.0 34.48 MB

Official Go implementation of NKN full node.

Home Page: https://www.nkn.org

License: Apache License 2.0

Go 81.13% Makefile 0.33% Dockerfile 0.05% Vue 8.05% JavaScript 2.77% Shell 0.04% HTML 4.39% SCSS 3.23%
blockchain distributed-systems p2p nkn decentralization network go

nkn's People

Contributors

admirabilis avatar alverlyu avatar ansrivas avatar arbio5zt avatar barbapapait avatar bettermanbao avatar billfort avatar bufrr avatar chickenpie347 avatar d5c5ceb0 avatar dependabot[bot] avatar dreamfly281 avatar gdmmx avatar iheron avatar laizy avatar liuhangyu avatar liuhuanqiang avatar noelbright avatar omani avatar realjohnsmith avatar sharpbear avatar superjinqing avatar tanziwen avatar tdcqzd avatar trueinsider avatar xizho10 avatar yilunzhang avatar zhengq1 avatar zhouziyan avatar zhtangsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nkn's Issues

Sync between node neighbors and chord finger table

Currently node neighbors are read from chord finger table. It would be good to add 2-way binding to make sure they are always sync. E.g. when a node neighbor connection is lost, also remove it from finger table.

HTTP json API routine panic when POST incorrect data

Description of the issue

RPCServer.Handle have nothing validity check for POST data.
It is very vulnerable when POST malicious parameter.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
  • Go version
  • Release tag/commit of the code

Expected behaviour

What should happen?
HTTP json Service should robust whatever POST any data.

Actual behaviour

What is actually happening?
One of service goroutine panic for each POST incorrect data. Such as "No method", "params not a map" etc.

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

2018/12/18 09:13:17 http: panic serving 124.126.218.235:58389: interface conversion: interface {} is []interface {}, not map[string]interface {}
goroutine 1549821 [running]:
net/http.(*conn).serve.func1(0xc42040d400)
	/usr/lib/go-1.10/src/net/http/server.go:1726 +0xd0
panic(0xa883a0, 0xc42779d300)
	/usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle(0xc420068180, 0xbd1c80, 0xc4204449a0, 0xc421565100)
	/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:85 +0x1098
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle-fm(0xbd1c80, 0xc4204449a0, 0xc421565100)
	/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:185 +0x48
net/http.HandlerFunc.ServeHTTP(0xc42041fd50, 0xbd1c80, 0xc4204449a0, 0xc421565100)
	/usr/lib/go-1.10/src/net/http/server.go:1947 +0x44
net/http.(*ServeMux).ServeHTTP(0xc4254ad0b0, 0xbd1c80, 0xc4204449a0, 0xc421565100)
	/usr/lib/go-1.10/src/net/http/server.go:2337 +0x130
net/http.serverHandler.ServeHTTP(0xc4253ffba0, 0xbd1c80, 0xc4204449a0, 0xc421565100)
	/usr/lib/go-1.10/src/net/http/server.go:2694 +0xbc
net/http.(*conn).serve(0xc42040d400, 0xbd2540, 0xc42779d100)
	/usr/lib/go-1.10/src/net/http/server.go:1830 +0x651
created by net/http.(*Server).Serve
	/usr/lib/go-1.10/src/net/http/server.go:2795 +0x27b

New node cannot join after the first node stopped

I started 8 nodes following the instruction and stop the very first one which created the network. New node failed to join with following logs.

xhdeMacBook-Air-5:node9 xh$ ./nknd -test join
2018/06/13 15:45:18.465413 [TRACE] GID 1, nknMain() nknd.go:80 Node version:  v0.1-alpha-2-g68d1
2018/06/13 15:45:18.465492 [TRACE] GID 1, JoinNet() chord.go:295
panic: runtime error: index out of range

goroutine 18 [running]:
github.com/nknorg/nkn/net/chord.trimSlice(0x184d258, 0x0, 0x0, 0x184d258, 0x0, 0x0)
	/Users/xh/go/src/github.com/nknorg/nkn/net/chord/net.go:821 +0x86
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc42005e240, 0xc420134000)
	/Users/xh/go/src/github.com/nknorg/nkn/net/chord/net.go:699 +0x9c7
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
	/Users/xh/go/src/github.com/nknorg/nkn/net/chord/net.go:636 +0x14e

or

xhdeMacBook-Air-5:node9 xh$ ./nknd -test join
2018/06/13 15:45:15.441674 [TRACE] GID 1, nknMain() nknd.go:80 Node version:  v0.1-alpha-2-g68d1
2018/06/13 15:45:15.443488 [TRACE] GID 1, JoinNet() chord.go:295
2018/06/13 15:45:15.449267 [FATAL] GID 1, failed to join local node! Got %s EOF

block proposer verification

The validity of block proposer should be verified. The sigchain proof of block proposer should be included in last block.

Parse confidential via command-line.

Description of the issue

Describe the issue you are experiencing.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS ubuntu 16.04
  • Go version 1.10
  • Release tag/commit of the code 7926840

Expected behaviour

What should happen?
nknd/nknc seems only accept password via interact with human, could we have an option to parse it from command-line, i.e. nknd --password xxxxxxxx. It will be much convenient to start/restart nknd from scratch when using docker.

Actual behaviour

What is actually happening?
Currently, user must enter their confidential from command-line.

Steps to reproduce

  1. Provide detailed steps
    Run command nknd
  2. how to reproduce this issue
    Run command nknd

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.

Node height = 0 when getting syncstate for node

Description of the issue

./nknc info -s gives node height 0.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS Ubuntu 16.04
  • Go version 1.8
  • Release tag/commit of the code 980bbfc

Expected behaviour

What should happen?
I think it should give a height count.

Actual behaviour

What is actually happening?
It is giving a height count, but height count is always 0.

Steps to reproduce

  1. Provide detailed steps: ./nknc info -s
  2. how to reproduce this issue: follow step 1

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.
screen shot 2018-09-25 at 11 12 22 pm

Do not exit if NAT encounters an error during setup

Description of the issue

Currently if NAT router is discovered and an error is got halfway when setting up port map, nknd will exit. We should change it to not exiting (but just abort setting up port map).

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
  • Go version
  • Release tag/commit of the code

Expected behaviour

What should happen?

Actual behaviour

What is actually happening?

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.

Use UDP instead of TCP for consensus?

Block and consensus related data transmission could use significant bandwidth. Switching from TCP to UDP could enhance performance, and will not affect correctness due to the fault tolerance of consensus algorithm. Any thoughts are appreciated.

make test is failing currently

Description of the issue

make test is failing currently. Turns out that porpackage_test.go:48 is failing where we are trying to create NewPorPackage with a given transaction. The test is trying to fetch HeightByBlockHash which is failing currently.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS: Fedora 28
  • Go version: 1.10.4
  • Release tag/commit of the code 79268403cc544eb0cf84357cc179a56540499787

Expected behaviour

Tests should pass.

Actual behaviour

Tests are failing.

Steps to reproduce

Just execute make test

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

The blockhash being provided to height, err := Store.GetHeightByBlockHash(blockHash) is all zeroes.

Node in syncing shouldn't send updateSigChainBlockHash to client

Currently node send a updateSigChainBlockHash msg to client when his latest block hash changes. Node shouldn't do this when it's syncing, otherwise it's spamming msgs to client.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

crash bug found when setup the testbed with the script

X@bogon:/projects/src/github.com/nknorg/nkn$ make all
go build -ldflags "-X github.com/nknorg/nkn/util/config.Version=5b4e8-dirty" nknd.go
go build -ldflags "-X github.com/nknorg/nkn/cli/common.Version=5b4e8-dirty" nknc.go
yanbo@bogon:
/projects/src/github.com/nknorg/nkn$ ./test/create_testbed.sh 10 test
Password:Re-enter Password:Address Public Key


ATajt3w8ZZLHcmaZSNYtutaUafA5H1MAKD 0243cdabbe0f4a5c8d32d8454b94f6fa28a063e5f8735848ef2a49fed297c1f80b
Password:Re-enter Password:Address Public Key


AbgztA5p2pHuKRZBYz2LZ8b3jC7fwojF9N 021b83f66011450c186e2938def975e34dba43f92ccdf6f37d7f12465a28a7e853
Password:Re-enter Password:Address Public Key


AUyTtKhzzAX2irqPQekYc17xpxVb7Ek3es 0288ea16ee0338e3e71a91c62bd07cd026c64bed548aab121eb7c34c032d8edbda
Password:Re-enter Password:Address Public Key


ALf75ALXrrfLkQhsRFKYQB433tw2ivQzd6 0399977060ce5a8d600eee9ccfd26cece0689cba0c18d11b183c19bfa873ecd2f8
Password:Re-enter Password:Address Public Key


AR4uBASuvu24WYtBATB2KR4kfRLvcHu8KL 02a0d73f5c2c712ebcaae6fe3b88f6d6e9a566893b183a7535eea2989a078b6aab
Password:Re-enter Password:Address Public Key


ASLhN1BctFz2E32zPQngJKhLS5QJ5DzCnG 03806a48de343cf59a212067b23c4c1ed209e6c0f695c0e0864409d61ba7fd5cf1
Password:Re-enter Password:Address Public Key


AQ7TYkeyNdzU6LqtkejWPgLyG8YPdY5tHR 028eed00d9e286d9aed67379c48c2cae89373e2b7fe0b72e3a81fb2ddffa1751bc
Password:Re-enter Password:panic: crypto/cipher: input not full blocks

goroutine 1 [running]:
crypto/cipher.(*cbcEncrypter).CryptBlocks(0xc420017220, 0xc4200cbb80, 0x1f, 0x1f, 0xc4200cba61, 0x1f, 0x1f)
/usr/local/Cellar/go/1.8/libexec/src/crypto/cipher/cbc.go:57 +0x2f7
github.com/nknorg/nkn/crypto.AesEncrypt(0xc4200cba61, 0x1f, 0x1f, 0xc4200cb5a0, 0x20, 0x20, 0xc420013da0, 0x10, 0x10, 0x15486e0, ...)
/Users/yanbo/projects/src/github.com/nknorg/nkn/crypto/helper.go:33 +0x1cb
github.com/nknorg/nkn/wallet.(*WalletImpl).CreateAccount(0xc420068540, 0x0, 0x0, 0x0, 0xc420013da0, 0x10)
/Users/yanbo/projects/src/github.com/nknorg/nkn/wallet/wallet.go:182 +0xdf
github.com/nknorg/nkn/wallet.NewWallet(0x139a465, 0xa, 0xc420013a70, 0x7, 0x8, 0x100cd01, 0x1399db7, 0x139937a, 0x1)
/Users/yanbo/projects/src/github.com/nknorg/nkn/wallet/wallet.go:89 +0x481
github.com/nknorg/nkn/cli/wallet.walletAction(0xc4200d6280, 0x0, 0xc4200d6280)
/Users/yanbo/projects/src/github.com/nknorg/nkn/cli/wallet/wallet.go:74 +0x26e
github.com/nknorg/nkn/vendor/github.com/urfave/cli.HandleAction(0x132a8a0, 0x13ac650, 0xc4200d6280, 0xc420068400, 0x0)
/Users/yanbo/projects/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:485 +0xd4
github.com/nknorg/nkn/vendor/github.com/urfave/cli.Command.Run(0x1398f86, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x139e60d, 0x15, 0x0, ...)
/Users/yanbo/projects/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/command.go:207 +0xb72
github.com/nknorg/nkn/vendor/github.com/urfave/cli.(*App).Run(0xc4200884e0, 0xc420010120, 0x3, 0x3, 0x0, 0x0)
/Users/yanbo/projects/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:250 +0x7d0
main.main()
/Users/yanbo/projects/src/github.com/nknorg/nkn/nknc.go:42 +0x53a

API features request

Description of the issue

getnodestate — would be nice to add the property of latestblockheight and getversion, in order not to send 3 different requests and do not overload the frontend.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Bug in RPC name service

Description of the issue

Registering and/or resolving a name to public key does not give correct results.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of the code.
  • This issue has not been reported earlier.

Your environment

  • OS: Not relevant
  • Go version: Not relevant
  • Release tag/commit of the code: ed50f28

Expected behavior

Registering a name to the public key and then resolving this name should return the corresponding wallet address.

Actual behavior

Registering a name to the public key and then resolving this name returns a different wallet address. One possible cause is a bug in encoding the public key to a wallet address, may be related to migration to Ed25519

Steps to reproduce

(1) Send a transaction to register the name to a public key
(2) Request an NKN address associated with that name

These are actual transactions from my wallet:
(1)
Address: NKNRmDTBZJuByb5HcEE6ZQ8KhCYGpt1uCPnj which has pubkey b77b2a3fe032357644a14d6e8f5c67a87ee8b477131ca1e47e0852638ae0e776
Name to register: somename

this is the request: {"method":"sendrawtransaction","jsonrpc":"2.0","params":{"tx":"0a340a300803122c0a20b77b2a3fe032357644a14d6e8f5c67a87ee8b477131ca1e47e0852638ae0e7761208736f6d656e616d65101412680a232104b77b2a3fe032357644a14d6e8f5c67a87ee8b477131ca1e47e0852638ae0e776ac1241408ce43787a38fefc983493de84b6cf6183e900d68c3a2df1a646efab596c956addc329e94ad89118021399f0991fdf8e898b869bf5403393b6122e04d939a720f"}}

tx successful, with this id: 39d13910c5320ad61fac0f28cb20d97ed484d9833f8700cb6f787918f1fc4e64

(2) After long enough wait time, I sent a request to resolve somename

{"method":"getaddressbyname","jsonrpc":"2.0","params":{"name":"somename"}}

and I received this resoponse: {"result":"NKNGob91RtdLmxUs72UxUKPB8DhAS6qpffpB","id":"1","jsonrpc":"2.0"}

As you can see, the address returned NKNGob91RtdLmxUs72UxUKPB8DhAS6qpffpB is not the same as address registered NKNRmDTBZJuByb5HcEE6ZQ8KhCYGpt1uCPnj

Chord FindSuccessors met nil Pointer panic during startup

Description of the issue

CI testing large-scale startup, from 1 create node outspread to 120 nodes suddenly, one node met nil Pointer panic during the first time FindSuccessors.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
    latest version of dev-testing branch
  • This issue has not been reported earlier.

Your environment

  • OS
    Debian GNU/Linux 9 (stretch)
  • Go version
    go version go1.10.3 linux/amd64
  • Release tag/commit of the code
    v0.1-alpha-103-ge3abc

Expected behaviour

What should happen?
node join NKN network successful and participate in consensus activity.

Actual behaviour

What is actually happening?
Panic due to met nil Pointer at first time FindSuccessors().

Steps to reproduce

  1. Provide detailed steps
  • Running the first node(create node)
  • Booting 120 VMs to join nkn from create node at the same time
  1. how to reproduce this issue
    Refer to above.

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

2018/08/27 10:33:27.207151 [INFO ] GID 1, Node version:  v0.1-alpha-103-ge3abc
2018/08/27 10:33:27 GetNodeState: {"id":0,"jsonrpc":"2.0","result":{"State":0,"SyncState":"PersistFinished","Port":0,"NodePort":30001,"ChordPort":30000,"JsonPort":30003,"WsPort":30002,"Addr":"35.197.90.102","ID":12549842751938768130,"Time":1535366007409311215,"Version":0,"Services":0,"Relay":true,"Height":0,"TxnCnt":0,"RxTxnCnt":0,"ChordID":"1628b492a9b6b0a1d2f207a8cd2d65e3e0883034005538cf9b06f70ed29f4ca6"}}
2018/08/27 10:33:27 NodeInfo: {2.0 0 {0 PersistFinished 0 30001 30000 30003 30002 35.197.90.102 12549842751938768130 1535366007409311215 0 0 true 0 0 0 1628b492a9b6b0a1d2f207a8cd2d65e3e0883034005538cf9b06f70ed29f4ca6}}
2018/08/27 10:33:27.481611 [INFO ] GID 1, Connect to Seed [35.197.90.102:30003] successful
2018/08/27 10:33:27 genId(35.234.137.35:30000@0) = 9c56c2d24cf17c5ae49e04b2a62c9c0c70409f4f19566951a25e4e26b51be1ef
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7661a6]

goroutine 26 [running]:
panic(0x904260, 0xc918f0)
	/usr/lib/go-1.10/src/runtime/panic.go:551 +0x3c1 fp=0xc420167a48 sp=0xc4201679a8 pc=0x42aed1
runtime.panicmem()
	/usr/lib/go-1.10/src/runtime/panic.go:63 +0x5e fp=0xc420167a68 sp=0xc420167a48 pc=0x429dae
runtime.sigpanic()
	/usr/lib/go-1.10/src/runtime/signal_unix.go:388 +0x17a fp=0xc420167ab8 sp=0xc420167a68 pc=0x43ffba
github.com/nknorg/nkn/net/chord.(*localVnode).FindSuccessors(0xc420370aa0, 0x1, 0xc42035ee40, 0x20, 0x20, 0x8f3b40, 0xc4203c66c8, 0xc42003e508, 0x92ba80, 0xc4202700c0)
	/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:319 +0x56 fp=0xc420167bc0 sp=0xc420167ab8 pc=0x7661a6
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc420068e40, 0xc42000e890)
	/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/net.go:772 +0xf7a fp=0xc420167fd0 sp=0xc420167bc0 pc=0x76076a
runtime.goexit()
	/usr/lib/go-1.10/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420167fd8 sp=0xc420167fd0 pc=0x457a51
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
	/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/net.go:651 +0x227

nil pointer crash when checkPredecessor in Chord stabilize

Description of the issue

nknd crashed

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
    Linux 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux
    Debian GNU/Linux 9 (stretch)
  • Go version
    go version go1.11 linux/amd64
  • Release tag/commit of the code
    commit 3b324d2

Expected behaviour

No crash in any time.

Actual behaviour

image

Steps to reproduce

Unknown. Can't reproduce every time.

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 217.61.112.242:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 104.199.252.161:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 3 chord nodes at 35.237.147.141:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 185.228.232.153:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 188.65.233.36:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 35.231.16.126:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 89.36.220.154:30000.
2018/10/19 02:48:38 [INFO] Disconnect with 1 chord nodes at 35.194.83.8:30000.
2018/10/19 02:48:39 [ERR] Error notifying predecessor: Predecessor is nil
2018/10/19 02:48:39.688089 [WARN ] GID 512, Failed to contact 3a4a8b137999b47f76aed2931aee6fc9888d9492696df0d6bb334c87222222ae. Got write tcp 10.168.0.9:46246->165.227.216.166:30000: write: broken pipe
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x861da5]

goroutine 12394 [running]:
github.com/nknorg/nkn/net/chord.(*localVnode).checkPredecessor(0xc0003781e0, 0x0, 0x0)
	/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:368 +0x95
github.com/nknorg/nkn/net/chord.(*localVnode).stabilize(0xc0003781e0)
	/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:125 +0x1d4
github.com/nknorg/nkn/net/chord.(*localVnode).stabilize-fm()
	/home/admin/nknorg/src/github.com/nknorg/nkn/net/chord/vnode.go:79 +0x2a
created by time.goFunc
	/usr/local/go/src/time/sleep.go:172 +0x44

API getUnspendOutput panic when input incorrect wallet address

Description of the issue

Request getUnspendOutput API with incorrect wallet address parameter, one of RPCServer goroutine panic due to "slice bounds out of range"

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
    Debian GNU/Linux 9 (stretch)
    Linux localhost 4.9.0-6-amd64 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux
  • Go version
    go version go1.10.3 linux/amd64
  • Release tag/commit of the code
    nknd version v0.5.3-alpha-1-ga405

Expected behaviour

What should happen?

Actual behaviour

Request getUnspendOutput API with incorrect wallet address parameter, one of RPCServer goroutine panic due to "slice bounds out of range"

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

2018/11/15 11:35:32 http: panic serving 86.2.243.234:44620: runtime error: slice bounds out of range
goroutine 27024556 [running]:
net/http.(*conn).serve.func1(0xc424cc4280)
	/usr/lib/go-1.10/src/net/http/server.go:1726 +0xd0
panic(0xa7b340, 0xfc6b80)
	/usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
github.com/nknorg/nkn/common.ToScriptHash(0xc436dfc840, 0x1b, 0x0, 0x0, 0xc400000000, 0xa76920, 0xc475118450)
	/home/admin/nknorg/src/github.com/nknorg/nkn/common/uint160.go:114 +0x37c
github.com/nknorg/nkn/api/common.getUnspendOutput(0xbc4b40, 0xc420069da0, 0xc431125ce0, 0x6)
	/home/admin/nknorg/src/github.com/nknorg/nkn/api/common/interfaces.go:969 +0x3f8
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle(0xc420069da0, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
	/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:85 +0x4a2
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Handle-fm(0xbc8760, 0xc4486bdea0, 0xc42732eb00)
	/home/admin/nknorg/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:185 +0x48
net/http.HandlerFunc.ServeHTTP(0xc42028a9b0, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
	/usr/lib/go-1.10/src/net/http/server.go:1947 +0x44
net/http.(*ServeMux).ServeHTTP(0xc422cb0450, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
	/usr/lib/go-1.10/src/net/http/server.go:2337 +0x130
net/http.serverHandler.ServeHTTP(0xc420159860, 0xbc8760, 0xc4486bdea0, 0xc42732eb00)
	/usr/lib/go-1.10/src/net/http/server.go:2694 +0xbc
net/http.(*conn).serve(0xc424cc4280, 0xbc9060, 0xc452b8ddc0)
	/usr/lib/go-1.10/src/net/http/server.go:1830 +0x651
created by net/http.(*Server).Serve
	/usr/lib/go-1.10/src/net/http/server.go:2795 +0x27b

Huge log of "too many open files ..."

Description of the issue

Describe the issue you are experiencing.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
    Debian (stretch)
  • Go version
    go version go1.10.3 linux/amd64
  • Release tag/commit of the code
    nknd version v0.1-alpha-95-g51da

Expected behaviour

What should happen?

Actual behaviour

What is actually happening?
Generated 1.7GB size log during 1 second with many "too many open files ..."

Steps to reproduce

probabilistic

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

N/A

image

Should randomly choose node in seed list rather than sequential

Node should randomly choose seed node in seed list rather than sequential for better load balance among seed node

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
  • Go version
  • Release tag/commit of the code

Expected behaviour

What should happen?

Actual behaviour

What is actually happening?

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.

Chord FingerTable incorrect.

Description of the issue

FingerTable incorrect when address cross over 0x0 from 0xf... to 0x0...

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
    Debian GNU/Linux 9 (stretch)
  • Go version
    go version go1.10.3 linux/amd64
  • Release tag/commit of the code
    v0.1-alpha-103-ge3abc

Expected behaviour

What should happen?
The address in FingerTable should comply with i^n offset.

Actual behaviour

What is actually happening?
As content as below extra info:

Finger[2].Id = 0xfca6df...
Finger[3].Id = 0x9b8832...
Address 0x00... ~ 0x8.... was skipped

Steps to reproduce

  1. Provide detailed steps
    During large-scale testing from 1 nodes outspread to 120 nodes.
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

"Vnodes": [
			{
				"Id": "f89abe81d36627c73db77487a4d671db4d0b2b50f076c93d3fd51c82a551a4f5",
				"Host": "104.198.15.42:30000",
				"NodePort": 30001,
				"HttpWsPort": 30002,
				"Successors": [
					{
						"Id": "f8e344d4cdaa2edb64eabaca62e75f9708aa1d1b9389d316b167b64b2c4b7ceb",
						"Host": "35.194.192.160:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "faee8b09a265d255223209635648f32ae320c6ce528778b47563f9165cf00156",
						"Host": "35.203.3.174:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "fbb6bc8d17b8095a2da40bd6247d48655c0858ff58f7683f6cd144f2220ff834",
						"Host": "35.203.64.11:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "fbbbf913091630f1e9defc33c94e60ee0325b66f115c32aba6e29b76a8282b8b",
						"Host": "35.203.98.236:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "fca6dfeb03ce4074ee0732f6d113d3d82f82ca9e0ee6aa60da5770ef1bd17b0a",
						"Host": "35.200.111.83:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "00a0e9d4e87e3fcea54b5955263e52172cc5274b54b1fa49d3141f187e6e65b2",
						"Host": "35.198.46.230:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "00f5abcec023945f741cf8fac6f206889d8102388d6506c33e03c535e11fe947",
						"Host": "35.197.171.106:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "012425779b5b079c344a0beb5e2f7df8d939407f9ee3eb5eb8a4d7b57bd504f4",
						"Host": "130.211.240.166:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					}
				],
				"Finger": [
					{
						"Id": "f8e344d4cdaa2edb64eabaca62e75f9708aa1d1b9389d316b167b64b2c4b7ceb",
						"Host": "35.194.192.160:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "faee8b09a265d255223209635648f32ae320c6ce528778b47563f9165cf00156",
						"Host": "35.203.3.174:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "fca6dfeb03ce4074ee0732f6d113d3d82f82ca9e0ee6aa60da5770ef1bd17b0a",
						"Host": "35.200.111.83:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					},
					{
						"Id": "9b8832dab1951b5450bad9916ee50e1e77e25fa429a0668b15915782e128a7b0",
						"Host": "104.197.138.103:30000",
						"NodePort": 30001,
						"HttpWsPort": 30002
					}
				],
				"Predecessor": {
					"Id": "f3b801b7179ef75293bcd980b9e674ac97b2e1f88b60ba1e1795a7558bad70e3",
					"Host": "35.196.130.234:30000",
					"NodePort": 30001,
					"HttpWsPort": 30002
				},
				"Last_finger": 250
			}
		]

Move to Go Modules

Glide wasn't maintained since Sep 26, 2018 and Go 1.13 scheduled for August 2019 will deprecate GOPATH and use Go Modules by default. Moving forward we should stop using glide and start using modules.

./nknc does not transfer - INVALID METHOD (-42001)

Description of the issue

nknc does not transfer - INVALID METHOD (-42001)
Log: [WARN ] GID 910315, HTTP JSON RPC Handle - No function to call for sendtoaddress

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • Linux
  • go version go1.10.3 linux/amd64
  • 52c8354

Expected behaviour

should receive tx id

Actual behaviour

{
        "error": {
                "code": -42001,
                "message": "INVALID METHOD"
        },
        "id": 0,
        "jsonrpc": "2.0"
}

Steps to reproduce

./nknc asset -t -p MYPASSWORD -a 4945ca009174097e6614d306b66e1f9cb1fce586cb857729be9e1c5cc04c9c02 -v 10 --to RECEIVINGADDRESS

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.

node 3.15 crashes after a while - fatal error: concurrent map writes

Description of the issue

Node crashes after a while (after it was successfully synced & was operating for 10-30min). It says
fatal error: concurrent map writes

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS Ubuntu 18.04
  • Go version 1.10.1 linux/amd64
  • Release tag/commit of the code (I am using the 3.15-alpha binary from github

Expected behaviour

What should happen?
Node should not crash

Actual behaviour

What is actually happening?
Node crashes

Steps to reproduce

  1. Provide detailed steps
    run ./nknd and wait
  2. how to reproduce this issue
    run ./nknd and wait

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.
2018/10/03 12:36:47.268921 [INFO ] GID 27, # current block height: 105686, block hash: 3c14b1705bf840b1e728d2453b26f0e3ed58e468b42354edda8b317e3839dc42
fatal error: concurrent map writes

goroutine 473675 [running]:
runtime.throw(0xa6d1e1, 0x15)
/usr/local/Cellar/go/1.10/libexec/src/runtime/panic.go:619 +0x81 fp=0xc420081ba0 sp=0xc420081b80 pc=0x429b21
runtime.mapassign_fast32(0x9b2080, 0xc421a034d0, 0x19cda, 0x1)
/usr/local/Cellar/go/1.10/libexec/src/runtime/hashmap_fast.go:359 +0x2f3 fp=0xc420081be8 sp=0xc420081ba0 pc=0x40b0d3
github.com/nknorg/nkn/por.(*PorServer).AddSigChainFromTx(0xc421cccb40, 0xc4203708d8, 0xc421ef4001, 0xc4231b0000, 0x51f)
/Users/skysniper/go/src/github.com/nknorg/nkn/por/porserver.go:219 +0x204 fp=0xc420081c70 sp=0xc420081be8 pc=0x84a574
github.com/nknorg/nkn/core/transaction/pool.(*TxnPool).AppendTxnPool(0xc421cccb80, 0xc4203708d8, 0xc400000000)
/Users/skysniper/go/src/github.com/nknorg/nkn/core/transaction/pool/pool.go:57 +0xf6 fp=0xc420081d38 sp=0xc420081c70 pc=0x85d786
github.com/nknorg/nkn/net/message.trn.Handle(0x787400000000, 0x0, 0x6abad7df00000507, 0x42, 0xadb820, 0xc422fcb020, 0xc4201a80f8, 0x1, 0x1, 0x0, ...)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/message/transaction.go:39 +0x23a fp=0xc420081dc0 sp=0xc420081d38 pc=0x8a5b8a
github.com/nknorg/nkn/net/message.(*trn).Handle(0xc4203d3f40, 0xae0b60, 0xc4200b1680, 0x568, 0x0)
:1 +0x91 fp=0xc420081e88 sp=0xc420081dc0 pc=0x8a9f91
github.com/nknorg/nkn/net/message.HandleNodeMsg(0xae0b60, 0xc4200b1680, 0xc4202d4b00, 0x51f, 0x580, 0x51f, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/message/message.go:246 +0x470 fp=0xc420081fa0 sp=0xc420081e88 pc=0x8a22d0
runtime.goexit()
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420081fa8 sp=0xc420081fa0 pc=0x456721
created by github.com/nknorg/nkn/net/node.unpackNodeBuf
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:79 +0x46d

goroutine 1 [chan receive, 60 minutes]:
main.nknMain(0xc4200ce3c0, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:168 +0x693
github.com/nknorg/nkn/vendor/github.com/urfave/cli.HandleAction(0x990ac0, 0xa8c1d8, 0xc4200ce3c0, 0xc42006a1e0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:485 +0xc8
github.com/nknorg/nkn/vendor/github.com/urfave/cli.(*App).Run(0xc42009d040, 0xc42001c090, 0x3, 0x3, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/urfave/cli/app.go:259 +0x64e
main.main()
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:212 +0x3f6

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

goroutine 68 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f345a93fe30, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202aa298, 0x72, 0xc420068100, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202aa298, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4202aa280, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4202aa280, 0xc4201a9000, 0xc42017c358, 0x8011b024982e6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420458098, 0x452ec0, 0xc42015e758, 0xc42015e760)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc420458098, 0xa8af38, 0xc4201861b0, 0xc4201a9000)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:246 +0x49
github.com/nknorg/nkn/net/chord.(*TCPTransport).listen(0xc4201861b0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:717 +0x38
created by github.com/nknorg/nkn/net/chord.InitTCPTransport
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:122 +0x1af

goroutine 24 [select]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0x127
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:140 +0x4bf

goroutine 77 [select]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain(0xc42034a8c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:206 +0x152
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x171

goroutine 6557 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93ff00, 0x72, 0xc421e39718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42220e598, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42220e598, 0xc421c06000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42220e580, 0xc421c06000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42220e580, 0xc421c06000, 0x1000, 0x1000, 0xc42220e580, 0xc4218d5988, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458e40, 0xc421c06000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421e25080, 0xc4201dbed0, 0x1, 0x9, 0xc421e39910, 0x58136a, 0xc42220e580)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421e25080, 0xc4201dbed0, 0x1, 0x9, 0x1, 0xc4218d5980, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421e25080, 0xc4201dbed0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421e399c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421e25080, 0xc4201dbed0, 0x9, 0x9, 0xc420458e40, 0xc420390c18, 0xc421e39a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42220e600, 0xc421e39a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42220e600, 0xa8ca00, 0xc42220e600)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42220e600, 0x964000, 0xc4201dbee0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42220e600, 0x964000, 0xc4201dbee0, 0xc42114e268, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420458e40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 23 [select, 34 minutes]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xff
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:139 +0x49d

goroutine 473523 [select]:
github.com/nknorg/nkn/net/chord.(*TCPTransport).Notify(0xc4201861b0, 0xc4218fcd50, 0xc4203d30e0, 0x0, 0x0, 0x0, 0xc422482f30, 0x8352b5)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:458 +0x240
github.com/nknorg/nkn/net/chord.(*LocalTransport).Notify(0xc42017aac0, 0xc4218fcd50, 0xc4203d30e0, 0x0, 0x0, 0xc4203d3150, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/transport.go:107 +0xcd
github.com/nknorg/nkn/net/chord.(*localVnode).notifyPredecessor(0xc4203d30e0, 0x0, 0x0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:268 +0x4f
github.com/nknorg/nkn/net/chord.(*localVnode).stabilize(0xc4203d30e0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:130 +0x249
github.com/nknorg/nkn/net/chord.(*localVnode).(github.com/nknorg/nkn/net/chord.stabilize)-fm()
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:79 +0x2a
created by time.goFunc
/usr/local/Cellar/go/1.10/libexec/src/time/sleep.go:172 +0x44

goroutine 69 [sleep]:
time.Sleep(0x2540be400)
/usr/local/Cellar/go/1.10/libexec/src/runtime/time.go:102 +0x166
github.com/nknorg/nkn/net/chord.(*TCPTransport).reapOld(0xc4201861b0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:662 +0x32
created by github.com/nknorg/nkn/net/chord.InitTCPTransport
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:125 +0x1d1

goroutine 43 [sleep]:
time.Sleep(0x2540be400)
/usr/local/Cellar/go/1.10/libexec/src/runtime/time.go:102 +0x166
github.com/nknorg/nkn/net/chord.(*localVnode).keepalive(0xc4203d30e0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:159 +0x1cf
created by github.com/nknorg/nkn/net/chord.(*localVnode).init
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/vnode.go:72 +0x1ac

goroutine 25 [select, 34 minutes]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:804 +0x277
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:146 +0x627

goroutine 26 [select, 60 minutes]:
github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction(0xc420169c80)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:751 +0x15d
created by github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb.openDB
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/syndtr/goleveldb/leveldb/db.go:147 +0x649

goroutine 27 [select]:
github.com/nknorg/nkn/db.(*ChainStore).loop(0xc4201a6240)
/Users/skysniper/go/src/github.com/nknorg/nkn/db/store.go:107 +0xf5
created by github.com/nknorg/nkn/db.NewChainStore
/Users/skysniper/go/src/github.com/nknorg/nkn/db/store.go:92 +0x198

goroutine 30 [select]:
github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache.(*janitor).Run(0xc420311540, 0xc421cccbc0)
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache/cache.go:1079 +0x106
created by github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache.runJanitor
/Users/skysniper/go/src/github.com/nknorg/nkn/vendor/github.com/patrickmn/go-cache/cache.go:1099 +0xb3

goroutine 31 [IO wait, 11 minutes]:
internal/poll.runtime_pollWait(0x7f345a93fa20, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199c18, 0x72, 0xc42017a000, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199c18, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc420199c00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc420199c00, 0xd, 0xc42101d04e, 0x5)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc4204582a0, 0x452ec0, 0xc42065fee8, 0xc42065fef0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc4204582a0, 0xa8af98, 0xc42065ad80, 0xd, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:259 +0x49
github.com/nknorg/nkn/net/node.(*node).initConnection(0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:153 +0x9e
created by github.com/nknorg/nkn/net/node.InitNode
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:198 +0x7e4

goroutine 32 [chan receive]:
github.com/nknorg/nkn/net/node.(*node).updateConnection(0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:731 +0x4e
created by github.com/nknorg/nkn/net/node.InitNode
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:199 +0x806

goroutine 81 [chan receive]:
github.com/nknorg/nkn/net/node.(*node).keepalive(0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:720 +0x49
created by github.com/nknorg/nkn/net/node.InitNode
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/node.go:200 +0x828

goroutine 168 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f200, 0x72, 0xc420420dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8618, 0xc4219de000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8600, 0xc4219de000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8600, 0xc4219de000, 0x3fff, 0x4000, 0x18, 0xc423130000, 0xc4210f79a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458330, 0xc4219de000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c6c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 146 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f130, 0x72, 0xc421cb0dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8718, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8718, 0xc421b7c000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8700, 0xc421b7c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8700, 0xc421b7c000, 0x3fff, 0x4000, 0x18, 0xc423131b00, 0xc422dcc220)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c320, 0xc421b7c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 152 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d638, 0x72, 0xc421e0ddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8a18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8a18, 0xc421a1e000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8a00, 0xc421a1e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8a00, 0xc421a1e000, 0x3fff, 0x4000, 0x18, 0xc420327080, 0xc422dcd4a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c338, 0xc421a1e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad86c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 123 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f2d0, 0x72, 0xc420422dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8518, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8518, 0xc421b20000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8500, 0xc421b20000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8500, 0xc421b20000, 0x3fff, 0x4000, 0x18, 0xc4226802c0, 0xc422dccc80)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9ce8, 0xc421b20000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b0900)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 894 [runnable]:
syscall.Syscall(0x0, 0x47, 0xc421b6e000, 0x3fff, 0xffffffffffffffff, 0x0, 0xb)
/usr/local/Cellar/go/1.10/libexec/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x47, 0xc421b6e000, 0x3fff, 0x4000, 0xc4220aca00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/syscall/zsyscall_linux_amd64.go:749 +0x5f
syscall.Read(0x47, 0xc421b6e000, 0x3fff, 0x4000, 0x452ec0, 0xc421cb5e38, 0xc421cb5e40)
/usr/local/Cellar/go/1.10/libexec/src/syscall/syscall_unix.go:162 +0x49
internal/poll.(*FD).Read(0xc422868b80, 0xc421b6e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:153 +0x118
net.(*netFD).Read(0xc422868b80, 0xc421b6e000, 0x3fff, 0x4000, 0x18, 0xc420329700, 0xc422dcdea0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b444a8, 0xc421b6e000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42065a000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 181 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f060, 0x72, 0xc421e0fdc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8818, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8818, 0xc42111a000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8800, 0xc42111a000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8800, 0xc42111a000, 0x3fff, 0x4000, 0x18, 0xc4202c8480, 0xc422dcc4c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d48, 0xc42111a000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b18c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 166 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f950, 0x72, 0xc42041ddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199d18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199d18, 0xc4207ca000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420199d00, 0xc4207ca000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420199d00, 0xc4207ca000, 0x3fff, 0x4000, 0x18, 0xc420328c00, 0xc422dcdaa0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458320, 0xc4207ca000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 177 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f540, 0x72, 0xc421cb1dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8218, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8218, 0xc4218ce000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8200, 0xc4218ce000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8200, 0xc4218ce000, 0x3fff, 0x4000, 0x18, 0xc4202d4b00, 0xc42359fb60)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d08, 0xc4218ce000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b1680)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 127 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f610, 0x72, 0xc42041fdc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8118, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8118, 0xc421cda000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8100, 0xc421cda000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8100, 0xc421cda000, 0x3fff, 0x4000, 0x18, 0xc420233700, 0xc422df5960)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d00, 0xc421cda000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b1440)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 170 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d708, 0x72, 0xc421e0edc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8918, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8918, 0xc42051c000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8900, 0xc42051c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8900, 0xc42051c000, 0x3fff, 0x4000, 0x18, 0xc421e95200, 0xc421ba88c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420458338, 0xc42051c000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c900)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 148 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d568, 0x72, 0xc420662dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8b18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8b18, 0xc4218ee000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8b00, 0xc4218ee000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8b00, 0xc4218ee000, 0x3fff, 0x4000, 0x18, 0xc420447680, 0xc42359eac0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c328, 0xc4218ee000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8240)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 358933 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86dd78, 0x72, 0xc4221df718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc423646618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc423646618, 0xc4212f1000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc423646600, 0xc4212f1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc423646600, 0xc4212f1000, 0x1000, 0x1000, 0xc423646600, 0xc421e8b908, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc422686c30, 0xc4212f1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421f5b080, 0xc423027980, 0x1, 0x9, 0xc4221df910, 0x58136a, 0xc423646600)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421f5b080, 0xc423027980, 0x1, 0x9, 0x1, 0xc421e8b900, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421f5b080, 0xc423027980, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4221df9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421f5b080, 0xc423027980, 0x9, 0x9, 0xc422686c30, 0xc4211d7e38, 0xc4221dfa18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc423646680, 0xc4221dfa30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc423646680, 0xa8ca00, 0xc423646680)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc423646680, 0x964000, 0xc423027990, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc423646680, 0x964000, 0xc423027990, 0xc42114e2b0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc422686c30)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 12455 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93fc90, 0x72, 0xc421ed5718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc421109a98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc421109a98, 0xc421af3000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc421109a80, 0xc421af3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc421109a80, 0xc421af3000, 0x1000, 0x1000, 0xc421109a80, 0xc42216ee48, 0x46)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b76930, 0xc421af3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42068faa0, 0xc421298830, 0x1, 0x9, 0xc421ed5910, 0x58136a, 0xc421109a80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42068faa0, 0xc421298830, 0x1, 0x9, 0x1, 0xc42216ee40, 0x3, 0xc420036f70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42068faa0, 0xc421298830, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421ed59c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42068faa0, 0xc421298830, 0x9, 0x9, 0xc420b76930, 0xc421d92678, 0xc421ed5a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc421109b00, 0xc421ed5a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc421109b00, 0xa8ca00, 0xc421109b00)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc421109b00, 0x964000, 0xc421298828, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc421109b00, 0x964000, 0xc421298828, 0xc42046f5a8, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420b76930)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 970 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86e668, 0x72, 0xc422748dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc422869018, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc422869018, 0xc421e74000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc422869000, 0xc421e74000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc422869000, 0xc421e74000, 0x3fff, 0x4000, 0x18, 0xc4202c8000, 0xc422dcc2c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4210b6b68, 0xc421e74000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad9680)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 150 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f7b0, 0x72, 0xc42041edc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199e18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199e18, 0xc420934000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420199e00, 0xc420934000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420199e00, 0xc420934000, 0x3fff, 0x4000, 0x18, 0xc420233180, 0xc422df5760)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c330, 0xc420934000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 334 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cee8, 0x72, 0xc421e1d718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134b18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134b18, 0xc421ebe000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134b00, 0xc421ebe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134b00, 0xc421ebe000, 0x1000, 0x1000, 0xc420134b00, 0xc42039e006, 0x40c)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b44d78, 0xc421ebe000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc4201a7080, 0xc4202a11a0, 0x1, 0x9, 0xc421e1d910, 0x58136a, 0xc420134b00)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc4201a7080, 0xc4202a11a0, 0x1, 0x9, 0x1, 0xc42039e000, 0x3, 0xc420030070)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc4201a7080, 0xc4202a11a0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421e1d9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc4201a7080, 0xc4202a11a0, 0x9, 0x9, 0xc420b44d78, 0xc420252218, 0xc421e1da18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc420134b80, 0xc421e1da30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc420134b80, 0xa8ca00, 0xc420134b80)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc420134b80, 0x964000, 0xc4202a1198, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc420134b80, 0x964000, 0xc4202a1198, 0xc42114e488, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420b44d78)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 84423 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a9715d0, 0x72, 0xc421167718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4223dfb98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4223dfb98, 0xc4220b3000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4223dfb80, 0xc4220b3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4223dfb80, 0xc4220b3000, 0x1000, 0x1000, 0xc4223dfb80, 0xc420024ea8, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc421bf20a8, 0xc4220b3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421f00600, 0xc4208192e0, 0x1, 0x9, 0xc421167910, 0x58136a, 0xc4223dfb80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421f00600, 0xc4208192e0, 0x1, 0x9, 0x1, 0xc420024ea0, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421f00600, 0xc4208192e0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4211679c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421f00600, 0xc4208192e0, 0x9, 0x9, 0xc421bf20a8, 0xc4227d42b8, 0xc421167a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc4223dfc00, 0xc421167a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc4223dfc00, 0xa8ca00, 0xc4223dfc00)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc4223dfc00, 0x964000, 0xc4208192d8, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc4223dfc00, 0x964000, 0xc4208192d8, 0xc42114e280, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc421bf20a8)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 114 [IO wait, 1 minutes]:
internal/poll.runtime_pollWait(0x7f345a86d2f8, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8d18, 0x72, 0xc4210bf100, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8d18, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4202e8d00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4202e8d00, 0x401127, 0xc4211a2120, 0x9a3300)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc4204582c8, 0x452ec0, 0xc4208eade8, 0xc4208eadf0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc4204582c8, 0xa8c360, 0xc4211a20a0, 0xadaa60, 0xc42019d590)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:259 +0x49
net/http.(*Server).Serve(0xc42011e8f0, 0xad9f20, 0xc4204582c8, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2770 +0x1a5
github.com/nknorg/nkn/api/httpjson.(*RPCServer).Start(0xc42068ecc0)
/Users/skysniper/go/src/github.com/nknorg/nkn/api/httpjson/RPCserver.go:189 +0x246
created by main.nknMain
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:140 +0x488

goroutine 115 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7f345a86d3c8, 0x72, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8c98, 0x72, 0xc42017a100, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8c98, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4202e8c80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc4202e8c80, 0x401127, 0xc421d93ca0, 0x9a3300)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc4204582a8, 0x452ec0, 0xc4208e9dd8, 0xc4208e9de0)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc4204582a8, 0xa8c360, 0xc421d93c20, 0xadaa60, 0xc42019d410)
/usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:259 +0x49
net/http.(*Server).Serve(0xc42011e340, 0xad9f20, 0xc4204582a8, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2770 +0x1a5
github.com/nknorg/nkn/api/websocket/server.(*WsServer).Start(0xc4204002c0, 0x951f96bb00000000, 0x7f855601050c001f)
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/server/server.go:90 +0x1ef
github.com/nknorg/nkn/api/websocket.StartServer.func1()
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/websocket.go:30 +0x2d
created by github.com/nknorg/nkn/api/websocket.StartServer
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/websocket.go:29 +0x154

goroutine 116 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ConsensusService).Start(0xc4202c08f0)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/ising.go:28 +0x81
github.com/nknorg/nkn/consensus/ising.StartIsingConsensus(0xc42040a380, 0xae0b60, 0xc4200b0480)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/ising.go:36 +0x4d
created by main.StartConsensus
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:74 +0xe2

goroutine 117 [sleep]:
time.Sleep(0x2540be400)
/usr/local/Cellar/go/1.10/libexec/src/runtime/time.go:102 +0x166
main.nknMain.func2()
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:158 +0x34
created by main.nknMain
/Users/skysniper/go/src/github.com/nknorg/nkn/nknd.go:156 +0x5f9

goroutine 118 [select, 60 minutes, locked to thread]:
runtime.gopark(0xa8c9b0, 0x0, 0xa665c7, 0x6, 0x18, 0x1)
/usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc42102e750, 0xc42014c480)
/usr/local/Cellar/go/1.10/libexec/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
/usr/local/Cellar/go/1.10/libexec/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
/usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:2361 +0x1

goroutine 846 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9af8, 0x72, 0xc421ed1718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c498, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c498, 0xc421b72000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c480, 0xc421b72000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c480, 0xc421b72000, 0x1000, 0x1000, 0xc42288c480, 0xc422796188, 0x46)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125cb68, 0xc421b72000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42006bc80, 0xc42031d5a0, 0x1, 0x9, 0xc421ed1910, 0x58136a, 0xc42288c480)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42006bc80, 0xc42031d5a0, 0x1, 0x9, 0x1, 0xc422796180, 0x3, 0xc420034a70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42006bc80, 0xc42031d5a0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421ed19c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42006bc80, 0xc42031d5a0, 0x9, 0x9, 0xc42125cb68, 0xc420370a38, 0xc421ed1a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42288c500, 0xc421ed1a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42288c500, 0xa8ca00, 0xc42288c500)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42288c500, 0x964000, 0xc42031d598, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42288c500, 0x964000, 0xc42031d598, 0xc42114e390, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc42125cb68)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 349113 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d898, 0x72, 0xc4207f9718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc422ef3818, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc422ef3818, 0xc4232c7000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc422ef3800, 0xc4232c7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc422ef3800, 0xc4232c7000, 0x1000, 0x1000, 0xc422ef3800, 0xc422707ce8, 0x46)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420baa000, 0xc4232c7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc422ca6360, 0xc422a0abc0, 0x1, 0x9, 0xc4207f9910, 0x58136a, 0xc422ef3800)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc422ca6360, 0xc422a0abc0, 0x1, 0x9, 0x1, 0xc422707ce0, 0x3, 0xc420036f70)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc422ca6360, 0xc422a0abc0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4207f99c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc422ca6360, 0xc422a0abc0, 0x9, 0x9, 0xc420baa000, 0xc4227d5cf8, 0xc4207f9a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc422ef3980, 0xc4207f9a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc422ef3980, 0xa8ca00, 0xc422ef3980)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc422ef3980, 0x964000, 0xc422a0abd0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc422ef3980, 0x964000, 0xc422a0abd0, 0xc42114e6f0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420baa000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 875 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9c98, 0x72, 0xc42065edc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c418, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c418, 0xc4219f6000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c400, 0xc4219f6000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c400, 0xc4219f6000, 0x3fff, 0x4000, 0x18, 0xc420446d80, 0xc42359e560)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4204590e0, 0xc4219f6000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6cfc0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 1014 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86e3f8, 0x72, 0xc421cb4dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c918, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c918, 0xc4228d0000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c900, 0xc4228d0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c900, 0xc4228d0000, 0x3fff, 0x4000, 0x18, 0xc423131200, 0xc4210f7da0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125cf98, 0xc4228d0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42041a480)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 1009 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86e4c8, 0x72, 0xc421ecf718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c818, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c818, 0xc421e7d000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c800, 0xc421e7d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c800, 0xc421e7d000, 0x1000, 0x1000, 0xc42288c800, 0xc420417648, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125ce40, 0xc421e7d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc421e253e0, 0xc4202ecd60, 0x1, 0x9, 0xc421ecf910, 0x58136a, 0xc42288c800)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc421e253e0, 0xc4202ecd60, 0x1, 0x9, 0x1, 0xc420417640, 0x3, 0xc420032570)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc421e253e0, 0xc4202ecd60, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421ecf9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc421e253e0, 0xc4202ecd60, 0x9, 0x9, 0xc42125ce40, 0xc420370c18, 0xc421ecfa18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42288c880, 0xc421ecfa30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42288c880, 0xa8ca00, 0xc42288c880)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42288c880, 0x964000, 0xc4202ecd58, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42288c880, 0x964000, 0xc4202ecd58, 0xc42114e5b0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc42125ce40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 133 [select]:
github.com/nknorg/nkn/api/websocket/server.(*WsServer).checkSessionsTimeout(0xc4204002c0, 0xc420672120)
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/server/server.go:227 +0x153
created by github.com/nknorg/nkn/api/websocket/server.(*WsServer).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/api/websocket/server/server.go:87 +0x147

goroutine 135 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProbeService).Start(0xc42095fc80, 0x9d9460, 0xc4202c08f0)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/probeservice.go:64 +0xf7
created by github.com/nknorg/nkn/consensus/ising.(*ConsensusService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/ising.go:24 +0x6c

goroutine 136 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).ProposerRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:268 +0x48
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:483 +0x210

goroutine 137 [chan receive, 60 minutes]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).ChangeProposerRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:332 +0xc8
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:485 +0x232

goroutine 138 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).TimeoutRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:287 +0x31
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:487 +0x254

goroutine 1594 [chan receive]:
github.com/nknorg/nkn/consensus/ising.(*ProposerService).ProbeRoutine(0xc4200c2d10)
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:297 +0x9a
created by github.com/nknorg/nkn/consensus/ising.(*ProposerService).Start
/Users/skysniper/go/src/github.com/nknorg/nkn/consensus/ising/proposerservice.go:491 +0x289

goroutine 473533 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cd48, 0x72, 0xc422744ba0)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134e98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134e98, 0xc421edc000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134e80, 0xc421edc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134e80, 0xc421edc000, 0x1000, 0x1000, 0xc420134e80, 0xc420112807, 0x89)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b45010, 0xc421edc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc4201a7500, 0xc4202a1a70, 0x1, 0x9, 0xc4234cb598, 0x58136a, 0xc420134e80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc4201a7500, 0xc4202a1a70, 0x1, 0x9, 0x1, 0xc420112800, 0x3, 0xc420032570)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc4201a7500, 0xc4202a1a70, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4234cb650)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc4201a7500, 0xc4202a1a70, 0x9, 0x9, 0xc4234cb700, 0x410249, 0xc4234cb6a0, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc420134f80, 0xc4234cb6b8)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc420134f80, 0xa8ca00, 0xc420134f80)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc420134f80, 0x963fc0, 0xc42392e9f0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc420134f80, 0x963fc0, 0xc42392e9f0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).Notify.func1(0xc4203799f0, 0xc4218fcd50, 0xc4203d30e0, 0xc421f002a0, 0xc421f000c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:446 +0x123
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).Notify
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:431 +0x11f

goroutine 119 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d228, 0x72, 0xc420173718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202aa618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202aa618, 0xc4218be000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202aa600, 0xc4218be000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202aa600, 0xc4218be000, 0x1000, 0x1000, 0xc4202aa600, 0xc421308008, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9b70, 0xc4218be000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42068ee40, 0xc4202653f0, 0x1, 0x9, 0xc420173910, 0x58136a, 0xc4202aa600)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42068ee40, 0xc4202653f0, 0x1, 0x9, 0x1, 0xc421308000, 0x3, 0xc420030070)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42068ee40, 0xc4202653f0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4201739c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42068ee40, 0xc4202653f0, 0x9, 0x9, 0xc4201a9b70, 0xc4203142b8, 0xc420173a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc4202aa780, 0xc420173a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc4202aa780, 0xa8ca00, 0xc4202aa780)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc4202aa780, 0x964000, 0xc420265400, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc4202aa780, 0x964000, 0xc420265400, 0xc42114e158, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc4201a9b70)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 121 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f6e0, 0x72, 0xc421cb2dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420199f98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420199f98, 0xc421ce0000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420199f80, 0xc421ce0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420199f80, 0xc421ce0000, 0x3fff, 0x4000, 0x18, 0xc420231600, 0xc422df5280)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9ce0, 0xc421ce0000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b06c0)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 142 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f470, 0x72, 0xc420421dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8318, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8318, 0xc420622000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8300, 0xc420622000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8300, 0xc420622000, 0x3fff, 0x4000, 0x18, 0xc420327600, 0xc422dcd6a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4204582f8, 0xc420622000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6c240)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 186 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f3a0, 0x72, 0xc420665dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4202e8418, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4202e8418, 0xc421daa000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4202e8400, 0xc421daa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4202e8400, 0xc421daa000, 0x3fff, 0x4000, 0x18, 0xc422830d80, 0xc421ba9640)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc4201a9d68, 0xc421daa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc4200b1d40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 200 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a93f880, 0x72, 0xc421e09dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134a18, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134a18, 0xc421e14000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134a00, 0xc421e14000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134a00, 0xc421e14000, 0x3fff, 0x4000, 0x18, 0xc420328680, 0xc422dcd8a0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b44d20, 0xc421e14000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42065a240)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 208 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cfb8, 0x72, 0xc421e3d718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420134a98, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420134a98, 0xc421e41000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420134a80, 0xc421e41000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420134a80, 0xc421e41000, 0x1000, 0x1000, 0xc420134a80, 0xc421308808, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc420b44d38, 0xc421e41000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc420339b00, 0xc42027bea0, 0x1, 0x9, 0xc421e3d910, 0x58136a, 0xc420134a80)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc420339b00, 0xc42027bea0, 0x1, 0x9, 0x1, 0xc421308800, 0x3, 0xc420032570)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc420339b00, 0xc42027bea0, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc421e3d9c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc420339b00, 0xc42027bea0, 0x9, 0x9, 0xc420b44d38, 0xc420370718, 0xc421e3da18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc4202e8f80, 0xc421e3da30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc4202e8f80, 0xa8ca00, 0xc4202e8f80)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc4202e8f80, 0x964000, 0xc42027beb0, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc4202e8f80, 0x964000, 0xc42027beb0, 0xc42114e378, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc420b44d38)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 473708 [runnable]:
github.com/nknorg/nkn/net/message.HandleNodeMsg(0xae0b60, 0xc42065a000, 0xc420329700, 0x51f, 0x580, 0x51f, 0xc42065a000, 0xc421cb5ed8)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/message/message.go:213
created by github.com/nknorg/nkn/net/node.unpackNodeBuf
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:79 +0x46d

goroutine 2360 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a90c1c8, 0x72, 0xc420190dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4211ea518, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc4211ea518, 0xc420518000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4211ea500, 0xc420518000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc4211ea500, 0xc420518000, 0x3fff, 0x4000, 0x0, 0xc421ba94c0, 0xc421ba94c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc422204e20, 0xc420518000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421c6d200)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 957 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9888, 0x72, 0xc420197dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c718, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c718, 0xc421e48000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c700, 0xc421e48000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c700, 0xc421e48000, 0x3fff, 0x4000, 0x18, 0xc423130480, 0xc4210f7ba0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125cde8, 0xc421e48000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc42041a000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 827 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a8d9f08, 0x72, 0xc4204e5718)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288c118, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288c118, 0xc421a89000, 0x1000, 0x1000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288c100, 0xc421a89000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288c100, 0xc421a89000, 0x1000, 0x1000, 0xc42288c100, 0xc42008b788, 0x6)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c9a8, 0xc421a89000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
bufio.(*Reader).Read(0xc42006baa0, 0xc42031c510, 0x1, 0x9, 0xc4204e5910, 0x58136a, 0xc42288c100)
/usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0xad5000, 0xc42006baa0, 0xc42031c510, 0x1, 0x9, 0x1, 0xc42008b780, 0x3, 0xc420030070)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:309 +0x86
io.ReadFull(0xad5000, 0xc42006baa0, 0xc42031c510, 0x1, 0x9, 0x428f34, 0xa8ca70, 0xc4204e59c8)
/usr/local/Cellar/go/1.10/libexec/src/io/io.go:327 +0x58
encoding/gob.decodeUintReader(0xad5000, 0xc42006baa0, 0xc42031c510, 0x9, 0x9, 0xc42125c9a8, 0xc420370998, 0xc4204e5a18, 0x428639)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decode.go:120 +0x63
encoding/gob.(*Decoder).recvMessage(0xc42288c180, 0xc4204e5a30)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:80 +0x57
encoding/gob.(*Decoder).decodeTypeSequence(0xc42288c180, 0xa8ca00, 0xc42288c180)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:142 +0x136
encoding/gob.(*Decoder).DecodeValue(0xc42288c180, 0x964000, 0xc42031c508, 0x16, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:210 +0xdc
encoding/gob.(*Decoder).Decode(0xc42288c180, 0x964000, 0xc42031c508, 0xc42114e048, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/encoding/gob/decoder.go:187 +0x14f
github.com/nknorg/nkn/net/chord.(*TCPTransport).handleConn(0xc4201861b0, 0xc42125c9a8)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:762 +0x11a
created by github.com/nknorg/nkn/net/chord.(*TCPTransport).listen
/Users/skysniper/go/src/github.com/nknorg/nkn/net/chord/net.go:741 +0x267

goroutine 1888 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a90c848, 0x72, 0xc42091ddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42288d498, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42288d498, 0xc4227b8000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42288d480, 0xc4227b8000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42288d480, 0xc4227b8000, 0x3fff, 0x4000, 0x18, 0xc420329180, 0xc422dcdca0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c760, 0xc4227b8000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc421ef4000)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).Connect
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:271 +0x59e

goroutine 261 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86d158, 0x72, 0xc4208eddc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc421cb6198, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc421cb6198, 0xc421e66000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc421cb6180, 0xc421e66000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc421cb6180, 0xc421e66000, 0x3fff, 0x4000, 0x18, 0xc420232680, 0xc422df5560)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c340, 0xc421e66000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8900)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 427 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86cad8, 0x72, 0xc4208e7dc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc421cb6618, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc421cb6618, 0xc421efa000, 0x3fff, 0x4000)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc421cb6600, 0xc421efa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc421cb6600, 0xc421efa000, 0x3fff, 0x4000, 0x18, 0xc4233d5200, 0xc42359f8c0)
/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42125c650, 0xc421efa000, 0x3fff, 0x4000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
github.com/nknorg/nkn/net/node.(*node).rx(0xc420ad8b40)
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:100 +0xf0
created by github.com/nknorg/nkn/net/node.(*node).initConnection
/Users/skysniper/go/src/github.com/nknorg/nkn/net/node/link.go:166 +0x8a

goroutine 364 [IO wait]:
internal/poll.runtime_pollWait(0x7f345a86ca08, 0x72, 0xc421caedc8)
/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420135018, 0x72, 0xffffffffffffff00, 0xad6860, 0xd8a4b

NAT Traversal

Description of the issue

Currently we require node to have public IP address. It MAY be beneficial to add NAT traversal for nodes so that people behind NAT can start mining. However, this may cause a few troubles:

  1. A node cannot know its public ports before all connections have already been established
  2. Because of 1, a node cannot know its chord ID in advance
  3. Reconnecting to the network may change chord ID as port is changed
  4. May reduce the performance of the network if some NAT traversal are problematic

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Use protobuffer instead of JSON for websocket msg for binary data

Description of the issue

Currently all websocket messages are encoded in JSON, which does not support transmitting binary data natively. Encode binary data with base64 introduces both CPU and bandwidth overhead. This can be avoided by sending binary data directly through websocket. The easy and backward/forward/cross-platform compatible way of doing it is to use protobuffer to encode/decode message.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

RPC call 'getnodestate' returns height/version with 0 value

Description of the issue

Describe the issue you are experiencing.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
  • Go version
  • Release tag/commit of the code

Expected behaviour

What should happen?

Actual behaviour

What is actually happening?

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.

Development will be based on v0.9 branch

The new version with balance model is now ready at branch v0.9. Future development work should be based on this branch except bug fix until merged into master.

NKN node on a Raspberry Pi

Description of the issue

NKN team can you please make a YouTube video on how to set up a NKN node on a Raspberry Pi? It would be a good way to grow the NKN network since it has a lower barrier of entry cost wise.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • [x ] This issue has not been reported earlier.

Good suggestion, currently the software is written in Golang, it support to be compiled & running for arm processor which the Raspberry Pi used. but currently we are still focus on PC as the first priority due to lack of hands, if someone in community would like to do this, we'd glad to support no matter in technical or incentive.

block should be verified when syncing

Description of the issue

block should be verified locally when sync from neighbors

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Show start time in nknc info

It'd very useful (for debugging) if nknc info shows when nknd started

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Add log rotation function

Description of the issue

Most of unix daemons have a log rotation function by receiving HUP unix signal. Usially, it is not necessary to restart the whole daemon if I want only to rotate the log file, for example using logrotate.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Expected behaviour

What should happen? When receive HUP unix signal, nknd will close current log file and start new one.

Actual behaviour

What is actually happening? Nothing.

Adding Node public key in getnodestate-RPC

Description of the issue

Hence we can parse the public key of the used nodes from the transaction payload it would be nice to get the node’s public key from the getnodestate RPC call.

In combination with the nknx nodecrawler we could then backtrace the way packets are relayed based on the geographic position and also create more „node utilization“ statistics.

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

  • OS
  • Go version
  • Release tag/commit of the code

Expected behaviour

What should happen?

Actual behaviour

What is actually happening?

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

If necessary, provide some extra information like code-snippets or error-logs.

Chrod vs Kademlia

I have noticed that NKN uses Chord DHT.

What is the reason using Chord over Kademlia, when Kademlia has much simpler (and less error prone) implementation?

Use ed25519 instead of p256

There are several reasons to switch:

  1. Better performance
  2. Better compatibility with VRF
  3. Prepare to switch to deterministic signature (e.g. XEdDSA) as the RNG could be (and has been) the weak point in security

[Raspberry pi] node crashes and loses sync after "Get block header error: leveldb: not found"

Description of the issue

My local rasperry pi gets regularly out of sync with the testnet. After that it shows following warnings and doesn't participate to the network at all:

AddVoteForBlock: block: 4e5c54f4b4805ecd3f0c1a95f4ef7f168889bf115318d10df456453fbc654885 doesn't exist, cache vote only

Problem starts round about 15 Minutes after starting the node with a fresh Chain. Node crashes with:

2018/09/13 11:04:01.669527 [WARN ] GID 12633, receive block which height is invalid, consensus height: 44578, received block height: 44579, hash: 452da64319ad18d55e986cd4134f09f78581d453dbb2b142cdd8ba2fad8636c3
2018/09/13 11:04:02.900955 [ERROR] GID 12817, Get block header error: leveldb: not found
2018/09/13 11:04:02.906263 [ERROR] GID 12740, state is different with neighbors, current voting height: 44580, neighbor height: 44581 (9/16), exits.

When it gets restarted it is out of sync.

Hope that helps!

Issue-Type (put a x sign in the square brackets)

  • bug report
  • feature request
  • Documentation improvement

Checklist

  • Running latest version of code.
  • This issue has not been reported earlier.

Your environment

Raspbian stretch lite Kernel version 4.14
1.11 arm
v0.3.6-alpha-dirty

Expected behaviour

Not getting out of sync.

Actual behaviour

Described above.

Steps to reproduce

  1. Provide detailed steps
  2. how to reproduce this issue

Any extra info ( for eg. code snippet to reproduce, logs, etc. )

For more information you can reach me on Discord (ChrisT).

Use deterministic signature

RNG is probably one of the weakest point in EC based signature. Signing different msg with the same random number will immediately leak the private key. Switching to deterministic EC based signature where the random number is changed to the hash of the msg and private key (e.g. XEdDSA) could solve the problem by making sure different msg are signed with different "random" number.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.